我正在尝试使用Tkinter制作GUI,但是出现了问题。我的GUI将有很多非常相似的按钮,并带有很多选项(字体,宽度,高度,命令等),我想写一个变量名,它存储重复的选项,而不是一遍又一遍地重复所有命令。再次。
我什至不知道这是否可能。
我尝试将选项另存为变量中的字符串,然后将其传递给变量,但它引发了:AttributeError: 'str' object has no attribute 'tk'
这是我的按钮的示例:
Num3 = Tk.Button(main, text="3", width = 2, height = 2, font = "Arial 16", command=lambda: nex("3"))
Num4 = Tk.Button(main, text="4", width = 2, height = 2, font = "Arial 16", command=lambda: nex("4"))
我希望它看起来像这样:
Var = 'main, width = 2, height = 2, font = "Arial 16",'
Num3 = Tk.Button(Var, text="3",command=lambda: nex("3"))
Num4 = Tk.Button(Var, text="4",command=lambda: nex("4"))
但是它引起了AttributeError: 'str' object has no attribute 'tk'
谢谢大家!
答案 0 :(得分:1)
像这样将它们保存在字典中
import tkinter as tk
main = tk.Tk()
options = {"text": "Hello!", "font": "Arial 16", "width": 2, "height": 2}
Num4 = tk.Button(main, **options)
Num4.pack()
main.mainloop()
查看此问题How to pass dictionary items as function arguments in python?。