Как я могу открыть поле ввода, готовое к записи? - PullRequest
0 голосов
/ 10 октября 2019

Я использую tkinter, чтобы открыть поле ввода, чтобы добавить некоторые теги к определенному тексту, который я собираю. Обычно, когда я копирую текст, tkinter открывает окно ввода, чтобы я мог вставить свои теги. Соответствующая часть кода выглядит следующим образом (кто-то на этом форуме помог мне с этим):

import tkinter

master = tkinter.Tk()
entry = tkinter.Entry(master)
entry.pack()
def close(event):
    if keyboard.is_pressed('enter'):
        string=entry.get()
        master.destroy()
    master.bind('<Key>', close)
    master.mainloop()

Поскольку целью кода является как можно большая экономия времени, я хотел бы, чтобы, когдавсплывающее окно ввода Мне не нужно вручную переходить к полю с помощью мыши и щелкать по нему, чтобы начать запись. Я не нашел способ сделать это. Возможно ли это?

Ответы [ 2 ]

1 голос
/ 10 октября 2019

Просто примените focus() к entry() после упаковки.

Вы также можете убрать необходимость проверки на Enter с библиотекой keyboard, просто связавшись с Return вместоKey.

import tkinter as tk

master = tk.Tk()
entry = yk.Entry(master)
entry.pack()
entry.focus()


def close(event):
    string = entry.get()
    master.destroy()


master.bind('<Return>', close)
master.mainloop()

Примечание:

focus() и focus_set() - это одна и та же команда. Так что либо работает. focus() это просто псевдоним для focus_set()

1 голос
/ 10 октября 2019

Просто вставьте: entry.focus_set ()

В шестой строке сразу после entry.pack ()

...