python - 使用变量将选项传递给 Tkinter 小部件

标签 python python-3.x tkinter

我正在尝试使用 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 = '主,宽度 = 2,高度 = 2,字体 =“Arial 16”,' Num3 = Tk.Button(Var, text="3",command=lambda: nex("3")) Num4 = Tk.Button(Var, text="4",command=lambda: nex("4"))

但它引发了AttributeError:'str'对象没有属性'tk'

谢谢大家的回答。

最佳答案

将它们保存在字典中,就像这样

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? .

关于python - 使用变量将选项传递给 Tkinter 小部件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55637473/

相关文章:

python - 对于非常大的文件来说,Python "cksum"等效项是什么?它是如何工作的?

python - pyinstaller ImportError 错误 - 如何解决?

python - 如何更改标签内某些单词的颜色?

python - 如果我使用bind_all,我可以对某些小部件进行异常(exception)处理吗?

python - tkinter tkMessageBox html 链接

python - 如果我只给这个函数一个参数,为什么异常处理不起作用?

python - iterparse 解析一个字段失败,而其他类似的没问题

python - 如何使用 Amazon AWS Elastic Beanstalk 部署私有(private) python pip 依赖项?

python - 使用 pip 安装 pyopencv

python - 如何在Python中分配新数组而不是构建指针