如何在用户选择项目时关闭委托中的QComboBox编辑器

时间:2014-09-01 11:36:59

标签: qt qcombobox qstyleditemdelegate

我有QStyledDelegate,它在createEditor()方法中创建QComboBox编辑器。只有当用户选择列表中的项目并按Enter键时,编辑器才会关闭。我希望仅在用户选择项目时关闭编辑器。怎么做?

我尝试使用QComboBox的currentIndexChanged()信号,但即使用户只是点击表格单元格来查看编辑器,它也会被发出。

1 个答案:

答案 0 :(得分:4)

您需要将QComboBox::currentIndexChanged信号连接到代理中的插槽。在插槽内,您应该发出closeEditor信号。

初始currentIndexChanged信号发射很可能是由您在创建后设置当前索引引起的。只需将connect语句置于组合框的设置值下面即可。