如何更改默认锚点、relx 和 rely 来放置 tkinter 小部件?

How can you change the default anchor, relx and rely for placing tkinter widgets?

我程序中的很多小部件都是这样放置的:

widget.place(relx=0.5, rely=0.5, anchor=CENTER)

所以,我想将其设为默认设置。我试过:

root.option_add("*anchor", "center")#Putting CENTER returns an error
root.option_add("*relx", "0.5")
root.option_add("*rely", "0")

但是,这不起作用。

我怎样才能做到这一点?

你不能。选项数据库用于指定小部件属性,而不是函数的参数。没有用于指定 packplacegrid 或任何其他 tkinter 函数的参数的内置机制。

您不能在不重写该方法的情况下更改默认选项,但一个可行的解决方法是简单地为该 customization 定义一个变量并将其传递给使用它的小部件:

try:                        # In order to be able to import tkinter for
    import tkinter as tk    # either in python 2 or in python 3
except ImportError:
    import Tkinter as tk


if __name__ == '__main__':
    root = tk.Tk()
    customization = dict(relx=0.5, rely=0.5, anchor='center')
    my_list_of_widgets = list()
    for i in range(30):
        my_list_of_widgets.append(tk.Label(root, text=i))
        my_list_of_widgets[i].place(**customization)
    tk.mainloop()