我正在使用 PyQt 设计器,然后使用 pyuic4 对其进行转换。
我的 ui 文件有这个组合框,如下所示:
self.comboBox = QtGui.QComboBox(self.groupBox_3)
self.comboBox.setGeometry(QtCore.QRect(20, 30, 81, 22))
self.comboBox.setObjectName(_fromUtf8("comboBox"))
self.comboBox.addItem(_fromUtf8(""))
self.comboBox.addItem(_fromUtf8(""))
self.comboBox.addItem(_fromUtf8(""))
self.comboBox.addItem(_fromUtf8(""))
self.comboBox.addItem(_fromUtf8(""))
self.comboBox.addItem(_fromUtf8(""))
self.comboBox.addItem(_fromUtf8(""))
self.comboBox.addItem(_fromUtf8(""))
self.comboBox.addItem(_fromUtf8(""))
self.comboBox.addItem(_fromUtf8(""))
self.comboBox.addItem(_fromUtf8(""))
self.comboBox.addItem(_fromUtf8(""))
如您所见,我放在组合框中的文本没有显示在这部分代码中,但它确实显示在 gui 中。
通常当我有一些用户选择时,比如单选按钮,我可以做这个检查:
if self.RAnkle.isChecked():
我可以用输入文本做类似的事情。我正在尝试使用组合框执行此逻辑,就像我想说 self.comboBox.getText() 并返回用户选择的字符串一样。我尝试在这个http://pyqt.sourceforge.net/Docs/PyQt4/qcombobox.html上做一些项目, 但我无法让它工作。
例如,这段代码:
self.comboBox.activated()
返回此错误消息:
TypeError: native Qt signal is not callable
我也尝试使用 itemData() 但我仍然收到错误:
TypeError: QComboBox.itemData(int, int role=Qt.UserRole): not enough arguments
我在回调内部这样做,所以我首先这样做:
self.analyzeButton.clicked.connect(self._AnalyzeData)
然后在函数 _AnalyzeData 我试图获取当前组合框项的文本。
那么,这可能吗?
谢谢