我有一個值需要轉換爲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