Python QComboBox返回None类型。如何获取当前数据?

Python QComboBox返回None类型。如何获取当前数据?,python,indexing,pyqt,qcombobox,Python,Indexing,Pyqt,Qcombobox,我已经实现了2个QComboxes,其中一个每次都手动插入项,另一个每次插入项都带有列表(我使用Python) 但是当我尝试获取Combobox的当前值时,它返回None。 我按照这一问题的规定进行: 我已经提供了我编码的代码。“命令”和“选项”是QComboxes(请原谅我的错误风格)索引中有错误吗 self.command.insertItem(1,'Convert') self.command.insertItem(2,'Compose') self.command

我已经实现了2个QComboxes,其中一个每次都手动插入项,另一个每次插入项都带有列表(我使用Python)

但是当我尝试获取Combobox的当前值时,它返回None。 我按照这一问题的规定进行: 我已经提供了我编码的代码。“命令”和“选项”是QComboxes(请原谅我的错误风格)索引中有错误吗

    self.command.insertItem(1,'Convert')
    self.command.insertItem(2,'Compose')
    self.command.insertItem(3,'Animate')


    self.option.insertItems(268,list)
和检索:
self.selected\u com=self.command.itemData(self.command.currentIndex())

self.selected_opt=self.option.itemData(self.option.currentIndex())
您尚未在组合框中选择当前项。如果没有当前项目,并使用插入项插入新项目,则不会自动将其选择为当前项目。您可能需要调用
self.command.setCurrentIndex(1)
self.option.setCurrentIndex(1)

从有关
currentIndex()
的文档中:

默认情况下,对于空组合框或 没有当前项的组合框 设置时,此属性的值为 -一,

从有关
itemData()
的文档中:

返回中给定角色的数据 组合框中的给定索引,或 QVariant::如果没有数据,则无效 对于这个角色

从PyQt的文档中:

任何时候都可以使用任何Python对象 预计会出现一个QQ变体。没有人会这样 解释为无效的QVariant


您可以使用以下代码从comboBox获取当前数据:

QString qualification=ui->comboBox->currentText();
QDebug()<<qualification;
QString限定=ui->comboBox->currentText();

谢谢你,罗斯,我想你已经为我做了一些研究。但当我按u所说的那样运行时,它显示“QComboBox没有名为setCurrentItem()的属性”。有没有其他方法来获取ComboBox的数据?我拼错了setCurrentIndex。没有你是正确的。但我也尝试了setCurrentIndex。无论我设置了什么索引,它都不会返回任何值!!!您还没有为Qt.UserRole角色设置任何数据(即,在insertItem调用中没有第三个参数),因此数据为None。谢谢。正如你所说,我已经修改了它:
self.selected\u com=self.command.itemData(self.command.currentIndex(),2)
,它成功了。我仍然不知道wat是用户角色。医管局:)