簡體   English   中英

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

[英]How do I center widgets placed by `tkinter.grid` in Python?

我有一個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)

在此輸入圖像描述

謝謝。

您可以使用以下技巧,它提供了不修改現有代碼的優勢:

在另一個必須居中的tkinter.Frame()實例中繪制self.frame

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM