我试图制作一个模块,在其中做一个功能,该功能可以在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。这给出了一个错误。