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

У меня проблема с тем, что я не могу получить виджеты моего экрана. Я пытался использовать (widget).forget(), но это не работает? Может кто-нибудь помочь?

Ответы [ 2 ]

0 голосов
/ 14 октября 2019

Похоже, ваш код немного запутался, когда вы его опубликовали. Похоже, проблема в том, что вы создали кнопку и поместили ее в одно действие. Функция pack / place / grid возвращает None, поэтому кнопка knapp1 не назначена. То, что вы хотите сделать, это создать кнопку и назначить ее переменной knapp1, а затем упаковать / поместить / сетку на новой строке.

Также, если вы не знали, вы не можете смешивать сетку и менеджеры пакетов. ,

И как только вы освоитесь с использованием классов при создании пользовательского интерфейса. Это значительно упрощает ссылки на вещи в вашем интерфейсе и вызов функций.

from tkinter import*
root = Tk()

bilde1 = PhotoImage(file='untitled.png') 
bilde2 = PhotoImage(file='ikke navngitt.png')

def but1(): 
    knapp1.place_forget()

label1 = Label(root, image=bilde1).pack() 
knapp1 = Button(root, image=bilde2,command=but1)
knapp1.place(x=0,y=3)

root.mainloop()
0 голосов
/ 14 октября 2019
from tkinter import*
root = Tk()

bilde1 = PhotoImage(file='untitled.png')
bilde2 = PhotoImage(file='ikke navngitt.png')

def but1():
    knapp1.pack_forget()

label1 = Label(root, image=bilde1).pack()
knapp1 = Button(root, image=bilde2,command=but1).place(x=0,y=3)


root.mainloop()

Это то, что у меня есть. Когда я нажимаю кнопку, происходит сбой и появляется сообщение о том, что «nonetype» не имеет атрибута «pack_forget»

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...