Удалить текст метки и установить новый текст метки при нажатии кнопки - PullRequest
0 голосов
/ 23 января 2019

Я сделал меньшую программу, чтобы помочь устранить неполадки основной программы.В этой программе я хочу, чтобы предыдущий текст метки был удален перед отображением нового текста метки.Это важно, потому что если вы оставите старый текст метки в метке, текст окажется перекрывающим друг друга.

from tkinter import *

root = Tk()

root.geometry("400x200")

def onButtonClick():
    while True:
        answerLabel = Label(root, text=wordEntry.get())
        answerLabel.grid(row=1, column=1)
        break


enterWordLabel = Label(root, text="Enter a word")
enterWordLabel.grid(row=0, column=0)

wordEntry = Entry(root)
wordEntry.grid(row=0, column=1)

enterButton = Button(root, text="Enter", command=onButtonClick)
enterButton.grid(row=0, column=2)

root.mainloop()

This is what happens when I enter

1 Ответ

0 голосов
/ 23 января 2019

Каждый виджет имеет метод configure, который позволяет изменять его атрибуты.Проблема в вашем коде заключается в том, что вы создаете новые метки, а не изменяете текст существующей метки.

Правильное решение - создать answerLabel один раз, а затем вызвать метод configure в вашем скрипте:

...
answerLabel = Label(root, text="")
answerLabel.grid(row=1, column=1)
...

def onButtonClick():
    answerLabel.configure(text=wordEntry.get())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...