You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python ttk Combobox如何实现显示文本但提交对应ID值?

解决ttk Combobox显示文本并关联对应ID的方法

ttk Combobox本身没有直接绑定显示文本与对应值的内置属性,你可以通过索引对应的方式实现需求,这是适配你场景最直接可靠的方案:

实现代码

import tkinter as tk
from tkinter import ttk

def on_submit():
    # 获取选中选项的索引,未选中时返回-1
    selected_index = combo.current()
    if selected_index != -1:
        # 通过索引直接匹配id_list中的对应值
        selected_id = id_list[selected_index]
        print(f"提交的ID: {selected_id}")

root = tk.Tk()
database_list = ['Movies', 'Movies', 'Games', 'Music', 'Games', 'Music']
id_list = [0,1,2,3,4,5]

# 配置Combobox显示database_list的内容
combo = ttk.Combobox(root, values=database_list)
combo.pack(pady=10)

submit_btn = ttk.Button(root, text="提交", command=on_submit)
submit_btn.pack(pady=5)

root.mainloop()

核心逻辑说明

  • 利用Combobox的current()方法获取选中项的索引,这个索引和你两个列表的元素顺序严格对应。
  • 即使database_list里有重复文本(比如两个Movies),只要database_list和id_list的元素顺序保持一致,通过索引匹配就能准确拿到对应的ID,完全不受重复文本影响。

内容的提问来源于stack exchange,提问作者David Saylor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 12:10:16