如何将TKinter中的.configure缩减为一个命令?

时间:2017-03-14 17:41:42

标签: python tkinter

我正在创建一个程序,它将使用多个菜单和按钮,并使菜单快速(因为我不是非常精通Tkinter)我使用PAGE为我生成一些代码。但是,它为每个按钮输出了一组非常冗长的.configure语句,这意味着我的项目现在总共超过1400行代码 - 而且我甚至还没有完成一半。有没有办法可以将所有这些.configure命令合并为一个?我在下面提供了我的代码示例以供参考。

self.Button7 = Button(top)
self.Button7.place(relx=0.04, rely=0.76, height=24, width=257)
self.Button7.configure(activebackground="#d9d9d9")
self.Button7.configure(activeforeground="#000000")
self.Button7.configure(background="#d9d9d9")
self.Button7.configure(command=root.destroy)
self.Button7.configure(disabledforeground="#a3a3a3")
self.Button7.configure(foreground="#000000")
self.Button7.configure(highlightbackground="#d9d9d9")
self.Button7.configure(highlightcolor="black")
self.Button7.configure(pady="0")
self.Button7.configure(text='''Go back''')

2 个答案:

答案 0 :(得分:1)

您可以将它们全部放在一个命令中:

self.Button7.configure(foreground="#000000", highlightbackground="#d9d9d9", highlightcolor="black", etc)

但你为什么要这样做?按你自己的方式做事要简洁得多。

答案 1 :(得分:1)

您可以创建需要传递以进行配置的dictionary个参数,然后使用argument unpacking magic **,如下所示。

my_config = {
    'foreground': "#000000",
    'background': "#d9d9d9",
    # ...
}
self.Button7.configure(**my_config)