我试图制作一个模块,在其中做一个功能,该功能可以在GUI中读取并显示图像。然后,我制作了另一个模块,该模块在单击按钮时调用该函数。按钮给我错误。

#module code:
from tkinter import *
class disp:
    def __init__(self):
        root1.geometry("400x500")
        image = PhotoImage(file = 'png2.png')
        Label(root1,image=image).pack()
        root1.mainloop()


#main code:
from tkinter import *
import testimg as ti

def click():
    ti.disp()

root = Tk()

Button(text = 'Click me',command=click).pack()
root.mainloop()

最佳答案

在您的类disp中,您将master设置为root1,而在主代码中,您将Tk()定义为root。这意味着root1不是窗口,因此拥有root1母版的标签没有打包位置。

您还需要删除root1.mainloop(),因为它无用,并且由于root1没有Tk()而导致错误。这就像尝试循环while语句而不输入while。这给出了一个错误。

09-27 12:27