как исправить наложение текста - Python - PullRequest
0 голосов
/ 06 мая 2020

Подскажите пожалуйста, как исправить этот код, чтобы не было наложений текста

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()

1 Ответ

2 голосов
/ 06 мая 2020

самый простой способ сделать это - просто изменить текст в метке, а не создавать новую метку каждый раз, когда вы нажимаете кнопку:

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()
...