(不要看完整的代码,它是不完整的:)
)
我有一个重置功能,可以重置标签的名称,但是此功能会删除所有标签。我应该使用什么功能(也许是Tkinter内置的)?
from Tkinter import *
months = ['December', 'January', 'February',
'March', 'April', 'May',
'June', 'July', 'August',
'September', 'October', 'November']
def reset():
label_result.grid_forget()
def calc():
month = entry_month.get()
day = entry_day.get()
if (str(month) == months[3] and 21 <= int(day) <= 31) or \
(str(month) == months[4] and 1 <= int(day) <= 20):
label_result['text'] = 'Aries'
elif (str(month) == months[4] and 21 <= int(day) <= 30) or \
(str(month) == months[5] and 1 <= int(day) <= 20):
label_result['text'] = 'Taurus'
elif (str(month) == months[5] and 21 <= int(day) <= 31) or \
(str(month) == months[6] and 1 <= int(day) <= 21):
label_result['text'] = 'Gemini'
*这是未完成的条件^ *
root = Tk()
root.title('Zodiacs')
root.resizable(False, False)
label_month = Label(root, width=30, font=('Ubuntu', 15), text='Enter your birth month')
label_month.grid(row=0, column=0, sticky=E)
label_day = Label(root, width=30, font=('Ubuntu', 15), text='Enter your birth day')
label_day.grid(row=1, column=0, sticky=E)
label_zodiac = Label(root, width=30, font=('Ubuntu', 15), text='Your zodiac is ')
label_zodiac.grid(row=3, column=0)
label_result = Label(root, width=30, font=('Ubuntu', 15), text=' ')
label_result.grid(row=3, column=1)
calculate = Button(text='Calculate...', command=calc)
calculate.grid(row=2, column=1, sticky=S)
reset = Button(text='Reset', command=reset)
reset.grid(row=2, column=0)
entry_month = Entry(root)
entry_month.grid(row=0, column=1, columnspan=2)
entry_day = Entry(root)
entry_day.grid(row=1, column=1)
root.mainloop()
如果忘记网格,则必须再次网格化。因此,只需将文本更改为空白即可轻松解决。
def reset():
label_result['text']=""
或
def reset():
label_result.configure(text="")