1
在下面的實驗中,當我按下Button1時,tagbox Label應該出現,並且它會出現。但是如果我在Button2上按下按鈕,我會在引用消失函數的delete命令中的一個問題時出現錯誤,然後在tk模塊中引用「標記搜索表達式中的」無效布爾運算符「。Python Tkinter canvas.delete失敗
from tkinter import *
from tkinter import ttk
class MainWindow(Frame):
def __init__(self,master):
super().__init__()
self.pack(fill=Y, side=LEFT)
self.booking_canvas = Canvas(self, width=400,
height=100,background="red")
self.button1 = Button(self.booking_canvas, text = "Appear", command =
self.appear)
self.button2 = Button(self.booking_canvas, text="Disappear",
command=self.disappear)
self.booking_canvas.create_window(20,10,window = self.button1)
self.booking_canvas.create_window(80, 10, window=self.button2)
self.booking_canvas.pack(side=LEFT)
def appear(self):
self.tagbox = Label(self.booking_canvas,text="Hello")
self.booking_canvas.create_window(200,10,window = self.tagbox, anchor
= NW)
def disappear(self):
self.booking_canvas.delete(self.tagbox)
root = Tk()
MainWindow(root)
root.mainloop()
你能幫忙嗎?我找不到錯誤消息非常helfpul。我已經能夠通過我在文檔中找到的簡單示例使.delete方法工作,但不在這裏。
請在您的問題中包含實際錯誤。此外,刪除方法的第一個參數必須是標籤或標識,但是您傳遞的是對小部件的引用。 –
我是一個Python新手,仍然學習協議。我應該包括整個回調?他們可能會很長。感謝您的解決方案,與@falsetru指出的一樣。 – user3474688