簡體   English   中英

PyQt4,從comboBox獲取當前文本

[英]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.lineEditsQLineEdit ,即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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM