python跳转结构_python GUI pyqt5 创建极为清晰的目录结构,调用子窗口跳转,解决闪退问题...

本文介绍了如何使用Python的PyQt5库构建清晰的项目目录结构,包括创建UI文件夹和logic文件夹来分离界面与逻辑。通过登录界面的实例,展示了如何处理界面逻辑,实现登录成功后的子窗口跳转,解决了可能的程序闪退问题。该方法允许在不干扰逻辑代码的情况下灵活修改UI设计。
摘要由CSDN通过智能技术生成

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

新建项目,包含main.py

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

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

整体架构如下:

7e7bff7696fb1b47d77ee4271ff3c5ed.png

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文件,生成不影响逻辑。

62a38c7290f1edb7ce22d4d2a1ff224c.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值