dk2dk2 2020-08-30 18:10 采纳率: 25%
浏览 1365
已采纳

python 的tkinter里的下拉框combobox,如果有多个的情况下,如何操作想要的那个下拉框?

界面上有多个下拉框cmb1,cmb2...
,这些下拉框使用同一个values下拉选择列表,假设为[1,2,3,4,5...]
每个下拉框的默认选项分别为1,2,3。。。,现在想实现的是,当用户更改某个下拉框的选择后(ComboboxSelected>>事件触发),比如选择‘3’后,另外那个当前选择是‘3’的下拉框选择变为空(cmbx(current)=None)
现在问题是,如何实现通过某一个下拉框的选择更改,找到当前的选择是同样值 的那个下拉框呢?如果下拉框的个数是固定的话,或许可以通过建立下拉框变量和get()函数获取 当前的选择建立 字典,通过键值对应找到,但是,如果希望下拉框的多少可以改变,用户可以删除和添加下拉框的话,该如何实现?

  • 写回答

1条回答 默认 最新

  • threenewbee 2020-08-30 20:35
    关注

    你可以把所有的combo放入一个数组,就可以循环判断了
    combos = []
    ...
    cbo1 = ttk.Combobox(win, width=12, textvariable=number)
    combos.append(cbo1)
    cbo2 = ttk.Combobox(win, width=12, textvariable=number)
    combos.append(cbo2)
    ...

    那么
    for cbo in combos:
    if cbo.get() == 某个值:
    ...

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?