在python GUI中没有出现在图像下方的按钮

时间:2014-06-03 17:12:30

标签: python python-2.7 user-interface tkinter

我正在开发一个关于Python的GUI,我遇到了以下问题:我想让窗口顶部的图片和它下面的按钮。我正在使用Tkinter模块和我使用的任何几何形状(放置,打包或网格)按钮不移动。仅当我使用网格将图像移动到第1行(这是第二行)时才会显示,否则它们根本不会出现。这是我现在使用的代码。作为参考,图片的尺寸为291x87像素。

import Tkinter
from Tkinter import *

def main():
    window =Tk()
    window.geometry("300x300")
    window.title("Dienes Blocks Application")
    window.iconbitmap(default='favicon.ico')
    app = HomeScreen(window)
    window.mainloop()

class HomeScreen(Frame):
    def __init__(self, master):
        Frame.__init__(self,master)
        self.create_buttons()
        self.sparx_head()


    def sparx_head(self):
        self.grid()
        photo = Tkinter.PhotoImage(file="logosmall.gif")
        sparx_header = Label(image=photo)
        sparx_header.image = photo # keep a reference!
        sparx_header.grid(column=0, row=0, columnspan=2, rowspan=2, sticky='NSEW')

    def create_buttons(self):
        self.grid()
        #teacher button
        teacher_button = Tkinter.Button(self, text="Teacher")
        teacher_button.grid(column=0, row=10)
        # student button
        student_button = Tkinter.Button(self, text="Student")
        student_button.grid(column=2, row=10)
        # prototype button
        prototype_button = Tkinter.Button(self, text="Prototype")
        prototype_button.grid(column=1, row=10)
if __name__ == "__main__":
    main()

1 个答案:

答案 0 :(得分:2)

您只需在图片标签中使用self

sparx_header = Label(self,image=photo)

他们没有相同的父母&这就是你遇到这个问题的原因