Python 按下登录按钮时,如何接收QLineEdit输入?

Python 按下登录按钮时,如何接收QLineEdit输入?,python,qt,pyqt5,Python,Qt,Pyqt5,我看了每一个教程,但没有发现运气,即使我尝试了一切。实际上,我已经用Tkinter成功地完成了一个登录和所有验证的程序,但当我为了更好的设计和更多的小部件而切换到PyQt5时,它突然变得如此混乱。我是一个初学者程序员,但我知道的不仅仅是基础知识。只是PyQt5让我有些困惑,我的Ui文件由于某种原因无法转换为py,所以我不能使用Qt设计器 这就引出了我的问题,在用户单击“登录”后,如何接收用户名和密码。我也想清除用户输入,但这对我现在并不重要 请帮帮我,我已经被困在这三天了。显示窗口和线编辑,但没

我看了每一个教程,但没有发现运气,即使我尝试了一切。实际上,我已经用Tkinter成功地完成了一个登录和所有验证的程序,但当我为了更好的设计和更多的小部件而切换到PyQt5时,它突然变得如此混乱。我是一个初学者程序员,但我知道的不仅仅是基础知识。只是PyQt5让我有些困惑,我的Ui文件由于某种原因无法转换为py,所以我不能使用Qt设计器

这就引出了我的问题,在用户单击“登录”后,如何接收用户名和密码。我也想清除用户输入,但这对我现在并不重要

请帮帮我,我已经被困在这三天了。显示窗口和线编辑,但没有任何操作

import sys 
from PyQt5 import QtCore, QtWidgets, QtGui 
from PyQt5.QtWidgets import QMainWindow, QLabel, QGridLayout, QWidget, QLineEdit, QLabel 
from PyQt5.QtWidgets import QPushButton 
from PyQt5.QtCore import QSize 
from PyQt5.QtGui import QIcon, QPixmap

class MainWindow(QMainWindow):
    def __init__(login):
        QMainWindow.__init__(login)

        login.setMinimumSize(QSize(300, 195 ))    
        login.setWindowTitle("Login Window")
        login.setStyleSheet("QLabel {font: 12pt Calibri}")

        loginbtn = QtWidgets.QPushButton('Login', login)
        loginbtn.clicked.connect(login.loginMethod)
        loginbtn.resize(80,30)
        loginbtn.move(60, 150)

        clearbtn = QtWidgets.QPushButton('Clear', login)
        clearbtn.clicked.connect(login.loginMethod)
        clearbtn.resize(70,30)
        clearbtn.move(170, 150)

###############USERNAME##########
        userLabel=QLabel(login)
        userLabel.setText("Username: ")
        userLabel.move(10,20)        
        userinput=QtWidgets.QLineEdit(login)
        userinput.move(90,20)
        userinput.resize(150,30)
        userinput.setPlaceholderText("  username")

#########PASSWORD##############
        passLabel=QLabel(login)
        passLabel.setText("Password: ")
        passLabel.move(10,60)
        passinput=QtWidgets.QLineEdit(login)
        passinput.move(90,60)
        passinput.resize(150,30)

    def loginMethod(login):
        sender=login.sender()
        if sender.text()=="Login":
            print(userinput.text())
        else:
            sender.text.clear()

if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    mainWin = MainWindow()
    mainWin.show()
    sys.exit( app.exec_() )

userinput
更改为
self。userinput
也请尝试遵循常规,并将
login
更改为
self