Есть ли способ удалить ярлык или кнопку из окна tkinter, а затем добавить его обратно? - PullRequest
8 голосов
/ 27 марта 2012

Примерно так:

from Tkinter import *

root = Tk()

but = Button(root, text = "button")
but.pack()
#When I try:
but.destroy()
but.pack()

Я получаю сообщение об ошибке:

TclError: неверное имя пути к окну ".37111768"

Ответы [ 2 ]

10 голосов
/ 27 марта 2012

Метод pack_forget скроет виджет, и вы можете упаковать его или добавить в сетку позже.http://effbot.org/tkinterbook/pack.htm

8 голосов
/ 27 марта 2012

Мне удалось заставить его работать :) вот моя работа:

from Tkinter import *
def changebutton():
    but.destroy()
    secondbut=Button(root,text="changed")
    secondbut.pack()
if __name__=='__main__':
    root=Tk()
    global but
    but= Button(root,text="button",command=changebutton)
    but.pack()
    root.mainloop()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...