ttk.combobox选项列表

编译器

我想知道我是否可以对此有所了解。

我从一个表接收记录集,该表的字段为id,desc。

我想在组合框上显示“值”,但是选择后要接收的变量是对应的“ id”。

我可以用id创建一个列表,用desc创建一个列表

我可以将“值”发送到组合,但是...如何使组合框显示值和接收ID?

def loadCombo(self):    
    sql = "SELECT id, desc FROM table"
    misq = conn.query2(sql)
    misc , misv = [] , []
    for xx in misq:
        misv.append(xx["desc"])
        misc.append(xx["id"])`

    self.box = ttk.Combobox(self.master, textvariable=self.idquiniela, state="readonly", choices=misc, values=misv )
    self.box.pack()

选择时出现错误!

谢谢

里德·巴拉德(Reid Ballard)

我的第一个想法是使用字典而不是列表。如果由于其他原因而拥有这两个列表,则可以通过以下方式将它们变成字典:

ids = ['Hello', 'World', 'Foo', 'Bar']
vals = [64, 8, 4, 2]
mydict = dict(list(zip(ids,vals)))

一旦有了字典,就可以在查询组合框时使用mydict [combobox.get()]。如果要在其他几个地方使用此功能,则可能需要创建自定义版本的组合框,例如:

from tkinter import Tk
from tkinter import ttk

class NewCBox(ttk.Combobox):
    def __init__(self, master, dictionary, *args, **kw):
        ttk.Combobox.__init__(self, master, values = sorted(list(dictionary.keys())), state = 'readonly', *args, **kw)
        self.dictionary = dictionary
        self.bind('<<ComboboxSelected>>', self.selected) #purely for testing purposes

    def value(self):
        return self.dictionary[self.get()]

    def selected(self, event): #Just to test
        print(self.value())

lookup = {'Hello': 64, 'World' : 8, 'Foo': 4, 'Bar': 2}
root = Tk()
newcb = NewCBox(root, lookup)
newcb.pack()

然后只使用'value()'方法而不是'get()'

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

ttk.combobox选项列表

来自分类Dev

使用ttk.Radiobuttons更改ttk.Combobox的值-Python

来自分类Dev

如何更改ttk的选项卡

来自分类Dev

Pycharm Python tkinter ttk选项的代码提示

来自分类Dev

隐藏并显示ttk。组合框下拉列表

来自分类Dev

如何进行ttk.Combobox回调

来自分类Dev

如何清除ttk.Combobox的文本字段部分?

来自分类Dev

如何动态更改ttk.Combobox下拉颜色

来自分类Dev

更改ttk.notebook中“选项卡标题”的颜色

来自分类Dev

在中心设置ttk笔记本选项卡[Python]

来自分类Dev

更改ttk中“选项卡标题”的颜色。

来自分类Dev

如何针对Combobox的每次更改唯一地将函数绑定到Ttk Combobox

来自分类Dev

Python-Tkinter - Ttk ComboBox - 获取返回空字符串的函数(长度 = 0)

来自分类Dev

使用ttk.Notebook小部件从右向左对齐选项卡

来自分类Dev

检索ttk.Treeview项的'open'选项作为布尔值

来自分类Dev

如何在ttk笔记本中切换选项卡时设置变量

来自分类Dev

有没有办法在Windows上的ttk.OptionMenu中更改特定选项的颜色?

来自分类Dev

使用ttk.Notebook小部件从右向左对齐选项卡

来自分类Dev

手动触发TTK笔记本选项卡更改事件

来自分类Dev

如何在ttk笔记本中切换选项卡时设置变量

来自分类Dev

Python TTK笔记本错误地显示了选定的选项卡

来自分类Dev

配置 ttk.Panedwindow 和窗格时的“未知选项”、“错误命令”

来自分类Dev

ttk 组合框列表值在 alt-tabbing 后保持打开状态

来自分类Dev

切换到新的ttk笔记本选项卡python时,如何防止Entrybox聚焦?

来自分类Dev

取消选择ttk :: checkbutton

来自分类Dev

ttk :: label多行格式

来自分类Dev

Python:无法安装ttk

来自分类Dev

TTK检测按钮点击

来自分类Dev

反向 ttk.Progressbar()

Related 相关文章

热门标签

归档