私は 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 内で、現在のコンボボックス項目のテキストを取得しようとしています。
それで、これは可能ですか?
ありがとう