我是python的新手。我有一个代码,在Tkinter上没有打印图像。所以请帮我看看如何显示图像以及按钮和文本框。
代码:
import Tkinter
from Tkinter import *
class myproject(Tkinter.Tk):
def __init__(self,parent):
Tkinter.Tk.__init__(self)
self.button2()
self.text()
self.image()
def button2(self):
button2 = Tkinter.Button(self, text = "hello")
button2.grid(column=5,row=7)
def text(self):
text = Tkinter.Text(self, height=3, width=31) # self.text
text.grid(column=1,row=3)
text.insert(END, "Wiilliam Skakespeare")
def image(self):
logo = PhotoImage(file="linux.gif")
w1 = Tkinter.Label(self, image=logo).pack(side="right")
app = myproject(None)
app.mainloop()
请帮忙!答案将不胜感激!
答案 0 :(得分:1)
您必须保存对照片图像的引用。
请参阅this page for详情或this one
但是,您发布的代码存在许多其他问题;例如,在函数和类声明之后需要冒号。在发布代码时,类中也不需要无关的方法,只会让它更难理解
你也不能混合经理或者你的整个程序可能会停滞不前。这意味着您不应在同一程序中使用 pack 和 grid 。阅读effbot教程,这真的很有帮助!
class myproject(Tkinter.Tk):
def __init__(self,parent):
Tkinter.Tk.__init__(self)
self.image()
def image(self):
logo = Tkinter.PhotoImage(file='linux.gif')
self.logo = logo # You always need a reference to the image or it gets garbage collected
w1 = Tkinter.Label(self, image=logo).grid()
app = myproject(None)
app.mainloop()