我有一个GUI。在此,我grid
编辑了许多小部件。但问题是网格放置的小部件总是在左上角。我希望它们位于屏幕的中心,同时仍然通过grid
方法保留它们。我怎么做?这是我的代码:
self.frame = tkinter.Frame()
tkinter.Label(self.frame, text=(name+' By '+coordinator), font=('Calibri', 24)).grid(row=1,column=1,columnspan=4)
self.tree = tkinter.ttk.Treeview(self.frame)
self.tree.grid(row=2, column=1, rowspan=8, padx=4, pady=4, ipadx=4, ipady=4)
tkinter.ttk.Label(self.frame, text='ID:').grid(row=4, column=2)
self.id = tkinter.ttk.Entry(self.frame, width=3)
self.id.grid(row=5, column=2, padx=4)
tkinter.ttk.Label(self.frame, text='Points:').grid(row=4, column=3)
self.marks = tkinter.ttk.Entry(self.frame, width=2)
self.marks.grid(row=5, column=3, padx=4)
self.submit = tkinter.ttk.Button(self.frame, text='Submit')
self.submit.grid(row=5, column=4, padx=4)
感谢。
答案 0 :(得分:0)
您可以使用以下技巧,该功能提供了不修改现有代码的优势:
在另一个必须居中的self.frame
实例中绘制tkinter.Frame()
。
self.main_frame = tkinter.Frame()
self.frame.place(in_=self.main_frame, anchor="c", relx=.50, rely=.50)