繁体   English   中英

如何使用PyQt创建带有内部组合框的组合框

[英]How to create combobox with combobox inside using PyQt

例如,假设我有这本字典dict = {a: 1,2,3, b: 4,5,6, c: 7,8,9}我如何才能为dict创建带有combobox的dict值的组合框?

在此处输入图片说明

听起来好像您想要一个嵌套菜单

在此处输入图片说明

在Qt中执行此操作的一种方法是将QToolButtonQMenu一起使用

d = {'a': [1,2,3], 'b': [4,5,6], 'c': [7,8,9]}

button = QToolButton()

def callback_factory(k, v):
    return lambda: button.setText('{0}_{1}'.format(k, v))

menu = QMenu()
for k, vals in d.items():
    sub_menu = menu.addMenu(k)
    for v in vals:
        action = sub_menu.addAction(str(v))
        action.triggered.connect(callback_factory(k, v))

button.setMenu(menu)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM