我已经实现了2个QComboBox,其中一个有每次手动插入的项目,另一个有插入列表的项目(我正在使用Python)
但是当我尝试获取Combobox的当前值时,它返回无。 我继续按照这个问题的具体说明: I referred this 我提供了wat我已编码。“命令”和“选项”是QComboBoxes(原谅我的坏风格)索引中有错误吗?
self.command.insertItem(1,'Convert')
self.command.insertItem(2,'Compose')
self.command.insertItem(3,'Animate')
self.option.insertItems(268,list)
和检索:
self.selected_com=self.command.itemData(self.command.currentIndex())
self.selected_opt=self.option.itemData(self.option.currentIndex())
答案 0 :(得分:1)
您尚未在组合框中选择当前项目。如果没有当前项目并使用insertItem
插入新项目,则不会将其自动选为当前项目。您可能想要致电self.command.setCurrentIndex(1)
和self.option.setCurrentIndex(1)
。
有关currentIndex()
的文档:
默认情况下,对于空组合框或 一个组合框,其中没有当前项目 设置后,此属性的值为 -1
有关itemData()
的文档:
返回给定角色的数据 组合框中的给定索引,或 QVariant ::如果没有数据则无效 这个角色。
来自PyQt的文档:
任何时候都可以使用任何Python对象 预期QVariant。没有 被解释为无效的QVariant。
答案 1 :(得分:0)
您可以使用此代码从comboBox获取当前数据:
QString qualification=ui->comboBox->currentText();
QDebug()<<qualification;