尝试关闭然后重新打开Tkinter“Frame”widg时出错

2024-09-28 23:04:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我想打开一个框架容器小部件,包括一个列表框小部件、“选择”按钮和一个“关闭”按钮。其目的是允许从listbox小部件可用的所有项目的主列表创建自定义列表。frame/listbox小部件需要多次访问,但它应该只在需要时弹出。你知道吗

我已经试过了地点。忘记方法,但进一步尝试重新打开小部件创建框架及其子小部件的附加实例。我也试过了放置。销毁方法,但在尝试重新打开框架小部件时出现错误。你知道吗

from tkinter import *
from tkinter import ttk

root = Tk() 
root.geometry('1080x768')
mainCanvas = Canvas(root, height=768,width=1080)
mainCanvas.pack()
popup = Frame(root, bd=3, relief=RAISED)

def addNew(): 
    popup.place(relx=0.5, rely=0.2, anchor=CENTER)

    scrollbar = Scrollbar(popup, orient=VERTICAL)   
    Lb1 = Listbox(popup, height=3, yscrollcommand=scrollbar.set)
    scrollbar.config(command=Lb1.yview)
    scrollbar.pack(side=RIGHT, fill=Y)
    Lb1.insert(1, "item one")
    Lb1.insert(2, "item two")
    Lb1.pack()

    addbutton = Button(popup, text="Choose list item")
    addbutton.pack()

    cancelbutton = Button(popup, text="Done", command=popup.destroy)
    cancelbutton.pack()

addItem = Button(mainCanvas, text="+", width=3, height=1, 
command=addNew)
addItem.grid(row=20, column=0) 

root.mainloop()

Exception in Tkinter callback Traceback (most recent call last):
File "C:\Python27\lib\lib-tk\Tkinter.py", line 1542, in call return self.func(*args) File "C:\Users\Home\Desktop\stackoverflow.py", line 11, in addNew popup.place(relx=0.5, rely=0.2, anchor=CENTER) File "C:\Python27\lib\lib-tk\Tkinter.py", line 1991, in place_configure + self._options(cnf, kw)) TclError: bad window path name ".46913176"


Tags: in框架部件libplacerootitemcommand