【发布时间】:2021-07-30 09:25:23
【问题描述】:
我正在用 Tkinter 制作一个程序,我决定使用图像按钮以便于交互,但 PhotoImage 不知何故不起作用。 该脚本的代码示例包含图片按钮:
from tkinter import *
class test:
def __init__(self,master):
self.master = master
img = PhotoImage(r'E:\v1.1\import.png')
b1 = Button(self.master, image = img).pack()
包含将加载上述脚本的源代码的脚本:
from test2 import *
maingui = Tk()
gui = test(maingui)
maingui.mainloop()
不知何故,图像没有加载,留下非常小的按钮。有谁知道我做错了什么?
编辑 1:我尝试了 this solution(acw1668 提到)并编辑了第一个脚本的代码,但它不起作用
from tkinter import *
class test:
def __init__(self,master):
global img
self.master = master
img = PhotoImage('E:\\v1.1\\import.png')
imglabel = Label(image=img)
imglabel.image = img
imglabel.pack()
b1 = Button(self.master, image = img).pack()
结果与您在链接上看到的相同 [1]:https://i.stack.imgur.com/Mo1XH.png
编辑 2:我尝试添加 self.进入 img 和 imglabel 但它也不起作用。
from tkinter import *
class test:
def __init__(self,master):
# I cannot global self.img so I have to delete it
self.master = master
self.img = PhotoImage('E:\\v1.1\\import.png')
self.imglabel = Label(image=img)
self.imglabel.image = self.img
self.imglabel.pack()
self.b1 = Button(self.master, image = self.img).pack()
【问题讨论】:
-
@acw1668 没用,我已经在那个帖子上尝试了所有方法,但都没有成功。
-
请展示您从其他答案中尝试过的内容,否则我们将不得不将其作为重复项关闭。
-
@BryanOakley 我将在我在家时立即发布我从提到的帖子中重新创建的新代码
-
@BryanOakley 我在 EDIT1 上添加了新代码