其他分享
首页 > 其他分享> > pyqt5 调用子窗口跳转,解决闪退问题

pyqt5 调用子窗口跳转,解决闪退问题

作者:互联网

顺便整理一下目录,逻辑分离。

新建项目,包含main.py 

1.新建ui文件夹,用designer生成的UI文件两个:login.py   ussd.py

2.新建logic文件夹,处理每个界面的逻辑:分别为login.py ussd.py

整体架构如下:

main.py写入入口:

from PyQt5.QtWidgets import *

from logic.login import Login

if __name__ == '__main__':
    import sys
    app = QtWidgets.QApplication(sys.argv)
    Ui_Login=Login()
    Ui_Login.show()#调用登录窗口
    sys.exit(app.exec_())

  

logic/login.py

from ui.login import Ui_LoginWindow
from PyQt5.QtWidgets import *
from api.auth import loginres
from logic.ussd import Ussd

class Login(QMainWindow,Ui_LoginWindow):
    def __init__(self):
        super(Login,self).__init__()
        self.setupUi(self)
        self.pushButton.clicked.connect(self.loginhandle)
    def loginhandle(self):
        res = loginres(self.lineEdit.text(), self.lineEdit_2.text())
        self.statusBar.showMessage(res['msg'])
        if res['code']==1:
            self.ussd = Ussd()#调用主窗口,一定要用self.,否则会闪退
            self.ussd.show()
            self.close()

logic/ussd.py

from ui.ussd import Ui_MainWindow
from PyQt5.QtWidgets import *

class Ussd(QMainWindow,Ui_MainWindow):
    def __init__(self):
        super(Ussd,self).__init__()
        self.setupUi(self)

 

成功实现登录成功后跳转,好处是可以随时修改UI文件,生成不影响逻辑。

 

标签:__,ussd,self,py,pyqt5,Ui,跳转,import,闪退
来源: https://www.cnblogs.com/rainny/p/14237267.html