我是tkinter的新手,我正在尝试制作一个GUI,其中顶部有一个图像,该图像下方有4个按钮区域,这是一种选择答案的方法。然而,到目前为止我使用的代码我创建的按钮似乎只留在左上角,根本不会在图像下移动,是否有人知道解决方案呢?
import Tkinter as tk
from Tkinter import *
from Tkinter import PhotoImage
root = Tk()
class Class1(Frame):
def __init__(self, master):
Frame.__init__(self, master)
self.grid()
self.master = master
self.question1_UI()
def question1_UI(self):
self.master.title("GUI")
gif1 = PhotoImage(file = 'Image.gif')
label1 = Label(image=gif1)
label1.image = gif1
label1.grid(row=1, column = 0, columnspan = 2, sticky=NW)
questionAButton = Button(self, text='Submit',font=('MS', 8,'bold'))
questionAButton.grid(row = 2, column = 1, sticky = S)
questionBButton = Button(self, text='Submit',font=('MS', 8,'bold'))
questionBButton.grid(row = 2, column = 2, sticky = S)
questionCButton = Button(self, text='Submit',font=('MS', 8,'bold'))
questionCButton.grid(row = 3, column = 3, sticky = S)
questionDButton = Button(self, text='Submit',font=('MS', 8,'bold'))
questionDButton.grid(row = 3, column = 4, sticky = S)
def main():
ex = Class1(root)
root.geometry("{0}x{1}+0+0".format(root.winfo_screenwidth(),
root.winfo_screenheight()))
root.mainloop()
if __name__ == '__main__':
main()
答案 0 :(得分:1)
您没有使用self
作为label1
的父级。此外,网格管理器从第0行开始:
def question1_UI(self):
# ...
label1 = Label(self, image=gif1)
label1.image = gif1
label1.grid(row = 0, column = 0, columnspan = 2, sticky=NW)
questionAButton = Button(self, text='Submit',font=('MS', 8,'bold'))
questionAButton.grid(row = 1, column = 0, sticky = S)
questionBButton = Button(self, text='Submit',font=('MS', 8,'bold'))
questionBButton.grid(row = 1, column = 1, sticky = S)
questionCButton = Button(self, text='Submit',font=('MS', 8,'bold'))
questionCButton.grid(row = 2, column = 0, sticky = S)
questionDButton = Button(self, text='Submit',font=('MS', 8,'bold'))
questionDButton.grid(row = 2, column = 1, sticky = S)