如何修复文本叠加 - Python

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

请告诉我如何修正这段代码,使其没有文字覆盖。

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()
python tkinter label
1个回答
2
投票

最简单的方法是在标签中修改文字,而不是每次按下按钮时都创建新的标签。

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()
© www.soinside.com 2019 - 2024. All rights reserved.