QlineEdit :: text()不返回单击按钮时输入的文本,并且该特定QlineEdit的对象名称为lineEdit

时间:2016-07-05 16:31:03

标签: python pyqt4

我在LineEdits文件中创建了三个Alert.ui。我的第一个LineEdit对象名称是lineEdit,我需要在点击pushButton时阅读文本。但是,当我通过打印单词覆盖率进行检查时,我明白它永远不会进入onChanged方法,即使该lineEdit中的文本已从空白更改为某个值。我无法理解为什么会这样。

    import MySQLdb
    import sys
    from PyQt4 import QtCore, QtGui, uic

    qtCreatorFile = "Alert.ui"  # Enter file here.

    Ui_MainWindow, QtBaseClass = uic.loadUiType(qtCreatorFile)


    class MyApp(QtGui.QMainWindow, Ui_MainWindow):
        def __init__(self):
            QtGui.QMainWindow.__init__(self)
            Ui_MainWindow.__init__(self)
            QtGui.QWidget.__init__(self)

            self.setupUi(self)

            self.lineEdit=QtGui.QLineEdit(self)
            print("reach")

            self.pushButton.clicked.connect(self.pushButton_clicked)


        def pushButton_clicked(self):
            self.lineEdit = QtGui.QLineEdit(self)
            self.lineEdit.textChanged.connect(self.onClicked)

        def onClicked(self,text):

                ID=text
                print(ID)


if __name__==_main_:


app = QtGui.QApplication(sys.argv)
        window = MyApp()
        window.show()
        sys.exit(app.exec_())

1 个答案:

答案 0 :(得分:0)

我仍然不确定您的代码中发生了什么,但从初看起我就能发现以下问题:

您永远不会将第一个QLineEdit连接到onClicked方法。