我正在开发一个关于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()
答案 0 :(得分:2)
您只需在图片标签中使用self
:
sparx_header = Label(self,image=photo)
他们没有相同的父母&这就是你遇到这个问题的原因