我有QStyledDelegate,它在createEditor()方法中创建QComboBox编辑器。只有当用户选择列表中的项目并按Enter键时,编辑器才会关闭。我希望仅在用户选择项目时关闭编辑器。怎么做?
我尝试使用QComboBox的currentIndexChanged()信号,但即使用户只是点击表格单元格来查看编辑器,它也会被发出。
答案 0 :(得分:4)
您需要将QComboBox::currentIndexChanged
信号连接到代理中的插槽。在插槽内,您应该发出closeEditor
信号。
初始currentIndexChanged
信号发射很可能是由您在创建后设置当前索引引起的。只需将connect语句置于组合框的设置值下面即可。