请告诉我如何修正这段代码,使其没有文字覆盖。
from tkinter import *
x = Tk()
x.geometry('100x100')
def button():
if btn['text'] == 'btn1':
btn['text'] = 'btn2'
label = Label(x, text="12", font=("Times",15)).place(x=5, y=5)
elif btn['text'] == 'btn2':
btn["text"] = 'btn3'
label = Label(x, text="12345", font=("Times",15)).place(x=5, y=5)
else:
btn["text"] = 'btn1'
label = Label(x, text="543", font=("Times", 15)).place(x=5, y=5)
btn = Button(x, text='btn1', command = lambda: button())
btn.place(x=30, y=30)
x.mainloop()
最简单的方法是在标签中修改文字,而不是每次按下按钮时都创建新的标签。
from tkinter import *
x = Tk()
x.geometry('100x100')
def button():
if btn['text'] == 'btn1':
btn['text'] = 'btn2'
label['text']="12"
else:
btn["text"] = 'btn1'
label['text']="12345"
label = Label(x, text="", font=("Times",15))
label.place(x=5, y=5)
btn = Button(x, text='btn1', command = lambda: button())
btn.place(x=30, y=30)
x.mainloop()