使用pyqt4和python 2.6,我使用qcombobox来提供选项列表。我在使用所选选项时遇到问题。当选择该选项时,我已经能够使用信号来触发方法,但问题是,当使用点击运行时,需要考虑这些组合框中的几个的内容。所以基本上我需要获得一个组合框的选定内容作为一个字符串。迄今为止,我只能够使用这样的:如何获取QComboBox的当前文本内容?
print combobox1.currentText()
得到这个:
PyQt4.QtCore.QString(u'Test Selection2')
当我真正想要的是“测试选择”位,任何想法? 我的组合框作出这样的:
combobox1 = qt.QComboBox()
combobox1.addItems(['Test Selection1', 'Test Selection2'])
mainLayout.addWidget(combobox1, 0, 0)
多数民众赞成在完美!这正是我需要做的。我现在正在考虑更改组合框中的选定项目,而无需单击它。我试过.setItemText(“文本选择”),但是这给了我以下错误:TypeError:QComboBox.setItemText(int,QString):参数1有意想不到的类型'str'我不知道它是期待什么类型,或者这是最好的方式去做。我只需要将所选项目更改为列表中的其中一个选项。 – Ben 2011-05-24 16:55:04
setItemText的第一个参数是QComboBox中要更改其值的项目的索引。看看Qt文档http://doc.qt.nokia.com/4.7-snapshot/qcombobox.html#setItemText。您需要参考API文档编写,以熟悉可用的方法,其签名等。 – sateesh 2011-05-24 17:26:51