Tkinter OptionMenu 参数

Tkinter OptionMenu arguments

我喜欢明确指定参数。例如:

def func(a, b):
    return a+b

每当我调用它时,我都会写:

func(a=6, b=7)

而不是:

func(6, 7)

我无法使用 Tkinter 中的 OptionMenu class 执行此操作。以下示例在自定义 class

self.var = tk.StringVav()
choices = ['op1', 'op2']
self.menu_m = tk.OptionMenu(master=self.frame_1, variable=self.var, *choices)

这导致参数 'master' 有多个值。如何明确定义要使用的主选项、变量和选项列表?

不幸的是,OptionMenu 小部件的实现有些糟糕。无论您的偏好如何,选项菜单的设计都不接受前三个参数 mastervariablevalue 的关键字参数。它们必须按位置参数的顺序显示。

self.menu_m = tk.OptionMenu(self.frame_1, self.var, *choices)