用照片制作GUI时出现意外窗口

时间:2018-07-27 20:59:44

标签: python tkinter

我正在GUI窗口上工作,该窗口将使用PIL显示一些图像。到目前为止,它运行良好,但是问题是,当我运行该程序时,它正在创建另一个未预期的空tkinter窗口,该窗口未绑定到我正在工作的主窗口。我可以分别关闭窗口和意外的窗口。看来他们之间没有任何关联。

def makeWidget(self):
    self.widget = Frame(self)
    self.imgdir = 'Include\\statics'
    self.savephotos = []
    thumbs = makeThumbs(self.imgdir)
    cols = 5
    while thumbs:
        thumbsrow, thumbs = thumbs[:cols], thumbs[cols:]
        row = Frame(self.widget)
        row.pack(fill=BOTH)
        for (imgfile, imgobj) in thumbsrow:
            size = max(imgobj.size)
            object = Frame(row, bg=self.toolbarColor, bd=2, relief=SUNKEN, 
                            padx=8, pady=5)
            object.pack(side=LEFT)
            photo = PhotoImage(imgobj, master=object)
            link = Button(object, bg=self.toolbarColor, image=photo)
            Label(object, text='Temur', fg='white', 
                   bg=self.toolbarColor).pack(side=BOTTOM)
            handler = lambda: 0
            link.config(command=handler, width=size, height=size)
            link.pack(side=TOP, expand=YES)
            self.savephotos.append(photo)
            self.widget.pack(expand=YES, fill=BOTH)

当我将master=self添加到photo=PhotoImage(imgobj)时,程序开始以这种方式运行。但是,没有那个主人,我的程序根本无法运行。 为什么我必须在PhotoImage中添加母版,以及如何摆脱这个问题?有人可以帮忙吗?


P.S。如果我先关闭主窗口,然后关闭意外窗口,则终端中将显示此文字。

invalid command name "49051768tick"
    while executing
"49051768tick"
    ("after" script)

0 个答案:

没有答案