我正在努力学习tkinter,但是我遇到了一个问题,我无法从这一点开始。我想用一个按钮做一个简单的GUI,不幸的是,我无法移动那个按钮(总是显示在最左上角)。
这是我使用的代码:
class App(Frame):
def __init__(self, master=None):
Frame.__init__(self, master)
self.grid()
self.master.title('GUI')
quitbttn = Button(self, text='quit')
quitbttn.grid(row=3, column=5)
root = Tk()
app = App(root)
app.mainloop()
虽然,我在iternet上找到了这段代码,并且它运行正常但唯一的区别是使用了pack()
而不是grid()
:
class Window(Frame):
def __init__(self, master=None):
Frame.__init__(self, master)
self.master = master
self.init_window()
def init_window(self):
self.master.title("GUI")
self.pack(fill=BOTH, expand=1)
quit_button = Button(self, text='quit')
quit_button.pack(side=BOTTOM)
root = Tk()
app = Window(root)
root.mainloop()
我希望能够使用网格。 任何建议都是贬值的。谢谢!
答案 0 :(得分:1)
您无法移动按钮的原因是因为您只有一个元素。
quitbttn.grid(row=3, column=5)
这部分脚本基本上说按钮应该放在第三行和第五行空间中。由于窗口中没有其他元素,因此根本不会移动按钮。这是因为所有2行和4列都等于0所以它包装的第一个位置在左上角。
使用.pack()
功能可以在不需要窗口中任何其他按钮的情况下移动按钮。
如果您添加了另一个按钮,则可以在三个不同的位置移动第一个按钮。
请注意,您无法在同一窗口中使用.pack()
和.grid()
功能。