1 回答
TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超13個(gè)贊
這是我解決這個(gè)問題的方法,可能還有其他方法。
def value():
global a
a = entry_1.get()
def times():
try:
b = a.index(',')
c = a[b + 2:] + '/' + a[:b]
if c in pytz.all_timezones:
home = pytz.timezone(c)
local_time = datetime.now(home)
current_time = local_time.strftime('%H:%M:%S')
place_lbl = Label(root, text=a, bg='grey', width=15, font=('bold', 25))
place_lbl.place(relx=0.33, rely=0.4)
time_lbl = Label(root, text=current_time, bg='grey', font=('bold', 30))
time_lbl.place(relx=0.41, rely=0.5)
time_lbl.after(1000,times)
else:
messagebox.showerror('Error',"Cannot find '{}'. Please enter in form city, continent (e.g. London, Europe).".format(a))
except:
messagebox.showerror('Error',"Cannot find '{}'. Please enter in form city, continent (e.g. London, Europe).".format(a))
確保將按鈕更改為:
search_btn = Button(root,text='Search',command=lambda:[value(),times(),entry_1.delete(0, END)])
問題是您使用的after(),但一旦代碼運(yùn)行,輸入框?yàn)榭?,然后您將使用框?nèi)刪除的值。因此,我最初將值傳遞給另一個(gè)函數(shù),以便將其存儲(chǔ)在那里。
通過按鈕的命令,我調(diào)用三個(gè)函數(shù),第一個(gè)函數(shù)value()將具有條目小部件中的值,然后下times()一個(gè)是刪除條目小部件。如果您將刪除包含在其中,times()那么它將導(dǎo)致該條目每秒被刪除。
當(dāng)您也想搜索更多城市時(shí),這很有效。
- 1 回答
- 0 關(guān)注
- 205 瀏覽
添加回答
舉報(bào)
