我有两扇窗户 窗口1>;登录, 窗口2>;我的应用程序
现在当我尝试当用户成功通过身份验证时打开应用程序窗口 但新窗口立即关闭
my login.py:
from mainmof import Ui_MainWindow_login
from send import Ui_MainWindow_send
from PyQt5 import QtCore, QtGui, QtWidgets
from sys import argv ,exit
import mysite
import dialog
class doLogin(QtCore.QThread):
my_signal=QtCore.pyqtSignal(str)
def __init__(self,u,p):
super(doLogin, self).__init__()
self.username=u
self.password=p
def run(self):
self.plogin()
def plogin(self):
obj=mysite.check_userpass() # connect to site and check user pass -> class name
namekarbari= obj.login(self.username,self.password) # connect to site and check user pass
if(namekarbari=='0'): # no internet
self.my_signal.emit(namekarbari)
elif(namekarbari=='-1'): # bad user pass
self.my_signal.emit(namekarbari)
else:
self.my_signal.emit(namekarbari) # user pass check and vallid
def showDialog(message):
D=QtWidgets.QDialog()
uid =dialog.Ui_Dialog(message)
uid.setupUi(D)
D.show()
D.exec_()
return True
def showmainsection(): # here is problem
MainWindow2 = QtWidgets.QMainWindow()
uis = Ui_MainWindow_send()
uis.setupUi(MainWindow2)
MainWindow.hide()
MainWindow2.show()
def showdialogmeassage(nk):
str_noNET= "no internet connection"
str_badInput='user/pass invallid'
if (nk=='0'):
showDialog(str_noNET) # no internet
ui.btn_login.setEnabled(True)
elif(nk=='-1'): # bad username password
showDialog(str_badInput)
ui.btn_login.setEnabled(True)
else:
showDialog(nk)
ui.btn_login.setEnabled(True)
showmainsection() #####****##### open new window
class login():
def login(self):
ui.btn_login.setEnabled(False)
self.username=ui.le_username.text()
self.password=ui.le_password.text()
str_noINPUT='inputs are empty'
if(self.username=='' or self.password==''):
if(showDialog(str_noINPUT)):
ui.btn_login.setEnabled(True)
return
self.thread = doLogin(self.username,self.password)
self.thread.start()
self.thread.my_signal.connect(showdialogmeassage)
if __name__ == "__main__":
app1 = QtWidgets.QApplication(argv)
MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow_login()
ui.setupUi(MainWindow)
obj_login=login()
ui.btn_login.clicked.connect(obj_login.login)
MainWindow.show()
exit(app1.exec_())
pyqt5设计器文件中的我的新窗口。 我的登录窗口pyqt5文件是单独的,我不想更改它。 mysite文件没有图形代码,它只能管理与服务器的通信
目前没有回答
相关问题 更多 >
编程相关推荐