Функция Tkinter Entry get: понимание использования и времени
В Tkinter виджет Entry позволяет пользователям вводить текстовый ввод. Чтобы получить эти входные данные, обычно используется функция get(). Однако, если функция get() вызывается преждевременно, может возникнуть неожиданное поведение.
Получение входных данных: время имеет значение
Проблема с приведенным примером кода заключается в том, что () вызывается перед отображением элементов графического интерфейса на экране. Это происходит после вызова mainloop().
Решение: использование кнопки
Чтобы получить доступ к пользовательскому вводу после его ввода, рекомендуется добавить кнопку который запускает функцию get() при нажатии. Реализация этого в приложении на основе классов упрощает процесс, как показано ниже:
import tkinter as tk
class SampleApp(tk.Tk):
def __init__(self):
tk.Tk.__init__(self)
self.entry = tk.Entry(self)
self.button = tk.Button(self, text="Get", command=self.on_button)
self.button.pack()
self.entry.pack()
def on_button(self):
print(self.entry.get())
app = SampleApp()
app.mainloop()
Использование и ожидаемое поведение
Запустите программу, введите текст в поле ввода и нажмите кнопку «Получить». Введенный текст будет напечатан в консоли. Это демонстрирует правильное время использования функции get(), гарантируя, что входные данные будут доступны, когда это необходимо.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3