为什么QLineEdit()。text()在我的代码中不起作用?

时间:2017-10-03 16:04:28

标签: python qt pyqt5

我已经搜索了几个关于如何从QLineEdit.text()获取输入的问题,但它在我的代码中不起作用。我不知道为什么。

我的代码:

import sys
from PyQt5.QtWidgets import (QApplication, QWidget,QPushButton,QLineEdit)

class Login_Ui(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self): 
        self.setWindowTitle('form') 

        self.AccoutText = QLineEdit(self)
        self.AccoutText.setGeometry(140,185,180,30)
        self.username = self.AccoutText.text()####

        self.PwdText = QLineEdit(self)
        self.PwdText.setGeometry(140,220,180,30)
        self.password = self.PwdText.text()####

        self.LoginBtn = QPushButton('login',self)
        self.LoginBtn.clicked.connect(self.loginme)
        self.LoginBtn.setGeometry(140,290,180,30)
        self.show()

    def loginme(self):
        print(self.username)
        print(self.password)
        print('...')

if __name__ == '__main__':
    app = QApplication(sys.argv)
    Log = Login_Ui()
    sys.exit(app.exec_())

1 个答案:

答案 0 :(得分:1)

它无法正常工作,因为您在将任何内容放入其中之前都会存储来自textedits的文本。

按下textedits按钮时,您需要从login获取文字。像这样:

def loginme(self):
    # get the values from the textedits first
    self.username = self.AccoutText.text()
    self.password = self.PwdText.text()

    print(self.username)
    print(self.password)
    print('...')