如何在Python中居中放置由`tkinter.grid`放置的小部件?

如何在Python中居中放置由`tkinter.grid`放置的小部件?,python,python-3.x,tkinter,Python,Python 3.x,Tkinter,我有一个GUI。在这一点上,我使用了grided许多小部件。但问题是网格化放置的小部件总是位于左上角。我希望它们位于屏幕的中心,同时仍保留通过网格方法放置它们的位置。我该怎么做?这是我的密码: self.frame = tkinter.Frame() tkinter.Label(self.frame, text=(name+' By '+coordinator), font=('Calibri', 24)).grid(row=1,column=1,columnspan=4)

我有一个GUI。在这一点上,我使用了
grid
ed许多小部件。但问题是网格化放置的小部件总是位于左上角。我希望它们位于屏幕的中心,同时仍保留通过
网格
方法放置它们的位置。我该怎么做?这是我的密码:

    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)


谢谢。

您可以使用以下技巧,其优点是不修改现有代码:

在另一个
tkinter.frame()
实例中必须居中绘制
self.frame

self.main_frame = tkinter.Frame()
self.frame.place(in_=self.main_frame, anchor="c", relx=.50, rely=.50)

您可以使用以下技巧,其优点是不修改现有代码:

在另一个
tkinter.frame()
实例中必须居中绘制
self.frame

self.main_frame = tkinter.Frame()
self.frame.place(in_=self.main_frame, anchor="c", relx=.50, rely=.50)