更改标签名称

问题描述 投票:0回答:1

(不要看完整的代码,它是不完整的:)

我有一个重置功能,可以重置标签的名称,但是此功能会删除所有标签。我应该使用什么功能(也许是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()
python user-interface tkinter grid
1个回答
2
投票

如果忘记网格,则必须再次网格化。因此,只需将文本更改为空白即可轻松解决。

def reset():
    label_result['text']=""

def reset():
    label_result.configure(text="")
© www.soinside.com 2019 - 2024. All rights reserved.