【问题标题】:Using variable to pass options to Tkinter widget使用变量将选项传递给 Tkinter 小部件
【发布时间】:2019-04-11 16:42:59
【问题描述】:

我正在尝试使用 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'

谢谢大家的回答。

【问题讨论】:

标签: python python-3.x tkinter


【解决方案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?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-11
    • 1970-01-01
    • 1970-01-01
    • 2021-12-22
    • 1970-01-01
    • 2015-02-15
    • 1970-01-01
    相关资源
    最近更新 更多