【发布时间】:2016-03-11 04:54:50
【问题描述】:
【问题讨论】:
-
创建两个组合框,首先使用字典键填充,然后在第一个组合框中选择项目时使用适当的值重新填充第二个
-
但是,我可以只用一个组合框对象吗?
【问题讨论】:
听起来您想要一个嵌套菜单。
在 Qt 中做到这一点的一种方法是使用 QToolButton 和 QMenu
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)
【讨论】: