[英]PyQt4, getting current text from comboBox
我有一個帶有comboBox的非常簡單的GUI,其中包含4個項目。
這四個項目中的每一個都做不同的事情,需要在啟用/禁用QLineEdit
框以及能夠基於當前選擇添加占位符文本方面鏈接到QLineEdit
框。
碼:
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
self.comboBox = QtGui.QComboBox(self.centralwidget)
self.comboBox.setGeometry(QtCore.QRect(10, 10, 201, 26))
self.comboBox.setObjectName(_fromUtf8("comboBox"))
self.comboBox.addItem(_fromUtf8(""))
self.comboBox.addItem(_fromUtf8(""))
self.comboBox.addItem(_fromUtf8(""))
self.comboBox.addItem(_fromUtf8(""))
if self.comboBox.currentText() == 'Item1':
self.lineEdit_5.setDisabled(True)
self.lineEdit_4.setText('0')
def retranslateUi(self, MainWindow):
self.comboBox.setItemText(0, _translate("MainWindow", "Item1", None))
self.comboBox.setItemText(1, _translate("MainWindow", "Item2", None))
self.comboBox.setItemText(2, _translate("MainWindow", "Item3", None))
self.comboBox.setItemText(3, _translate("MainWindow", "Item4", None))
當然,其中self.lineEdits
是QLineEdit
,即self.lineEdit_5 = QtGui.QLineEdit()
我在這里做錯了什么?
PS:這與完整的代碼相去甚遠,它已大大簡化,因此易於閱讀,如果您需要更多信息,請告訴我
您需要使用信號和插槽 。
每當在comboBox
選擇了新項目時,都會發出currentIndexChanged(const QString & text)
信號( text
是所選新項目的文本)。 您可以將一個方法連接到該信號,並通過行編輯執行所需的任何操作。
self.comboBox.currentIndexChanged[str].connect(self.onChange)
def onChange(self, newText):
if newText=="Item 1":
#do this
else:
#do that
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.