我有一个值需要转换为str(),然后int()在用户输入并按回车后。它不停地尝试没有转换的用户输入尚未发生:如何等待用户按下输入
from tkinter import *
from tkinter import ttk
root = Tk()
month = StringVar()
combobox = ttk.Combobox(root, textvariable = month)
combobox.pack()
combobox.config(values = ('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'))
year = StringVar()
Spinbox(root, from_ = 1990, to = 2014, textvariable = year).pack()
yearstr = str(year)
yearcheck = int(yearstr)
if yearcheck >= 1990 and yearcheck < 2014:
tkMessageBox.SelectedDate("Date Selector", "The date you have selected is ", str(month), ", ", str(year))
else:
tkMessageBox.DateError("Date Selector", "Year must be 1990-2014")
root.mainloop()
你的问题是关于'tkinter'吧?否则你可以做'input()',但是在GUI上下文中会很糟糕。 –
tkinter的'mainloop()'处理了按键。您需要编写事件处理代码来完成您需要的转换,并将该代码附加到所涉及的窗口小部件 - 通常通过向窗口小部件的构造函数添加一个'command = my_function'关键字参数。 – martineau