gpt4 book ai didi

python - 从多个 tkinter 选项菜单中获取值

转载 作者:太空宇宙 更新时间:2023-11-04 02:37:30 25 4
gpt4 key购买 nike

我需要遍历在 for 循环中创建的选项菜单,并在按下按钮时将它们的值存储到列表中。

我有一个 for 循环,它生成动态数量的选项菜单(两列,多行)。这是我的 GUI 以供引用:imgur link

我将选项菜单标识和字符串变量标识存储在列表中: self.obox_Type_idxself.obox_Role_idx

这是我的代码:

for i in range(0,num_vars):
self.lbl_VarName = Label(self.frm_widgets, text=X_columns[i], anchor='w')
self.lbl_VarName.grid(row=i, column=0, sticky='news', padx=(0,20))

typeopt = StringVar()
obox_Type = OptionMenu(self.frm_widgets, typeopt, *self.obox_Type_input)
obox_Type.config(width=15)
obox_Type.grid(row=i, column=1, sticky='news', padx=(60,0))
typeopt.set("numerical") #default value
self.obox_Type_idx.append((obox_Type, typeopt))

roleopt = StringVar()
obox_Role = OptionMenu(self.frm_widgets, roleopt, *self.obox_Role_input)
obox_Role.config(width=15)
obox_Role.grid(row=i, column=2, sticky='news')
roleopt.set("feature") #default value
self.obox_Role_idx.append((obox_Role, roleopt))

这是 self.obox_Type_idx 中的条目示例: (<tkinter.OptionMenu object .!frame.!canvas.!frame.!optionmenu2>, <tkinter.StringVar object at 0x09835870>)

所以我的目标是遍历类型列并存储所有选项菜单选择,以便在按下另一个按钮时列出。其自身列表中的 Role 列也是如此。我可以向选项菜单添加一个命令来让它打印所选值,但我需要能够遍历不同的菜单并获取它们的特定值。

最佳答案

您所要做的就是遍历 self.obox_Type_idx 并使用 StringVarget 方法来获取当前选择的选项菜单:

def on_press(self):
self.list_Role = [var.get() for menu, var in self.obox_Role_idx]

并创建一个按钮,其命令为on_press。按下此按钮时,所选角色的列表将存储在 self.list_Role 中。

关于python - 从多个 tkinter 选项菜单中获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47514567/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com