tkinter显示图像

时间:2014-09-12 01:05:09

标签: python tkinter

我是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()

请帮忙!答案将不胜感激!

1 个答案:

答案 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()