msb6006 cmd.exe已退出代码为3_PyQt5可以实现界面和逻辑代码分离吗?大声说出你的答案!...

必须的!!!

PyQt5作为最强大的Python GUI设计模块,小编在这里告诉大家:PyQt5可以实现界面与逻辑代码分离,实现非常简单,用处特别大!

初学者在学习PyQt5时,使用Qt Designer设计器设计完GUI窗体之后,将其转换为.py代码文件,通常都会将逻辑代码直接写入到转换后的.py文件中,类似这样:

from PyQt5 import QtCore, QtGui, QtWidgets

class Ui_MainWindow(object):

    def setupUi(self, MainWindow):

        MainWindow.setObjectName("MainWindow")

        MainWindow.resize(290, 117)

        self.centralwidget = QtWidgets.QWidget(MainWindow)

        self.centralwidget.setObjectName("centralwidget")

        MainWindow.setCentralWidget(self.centralwidget)

        self.menubar = QtWidgets.QMenuBar(MainWindow)

        self.menubar.setGeometry(QtCore.QRect(0, 0, 290, 23))

        self.menubar.setObjectName("menubar")

        MainWindow.setMenuBar(self.menubar)

        self.statusbar = QtWidgets.QStatusBar(MainWindow)

        self.statusbar.setObjectName("statusbar")

        MainWindow.setStatusBar(self.statusbar)

        self.retranslateUi(MainWindow)

        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):

        _translate = QtCore.QCoreApplication.translate

        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))

import sys

# 主方法,程序从此处启动PyQt设计的窗体

if __name__ == '__main__':

   app = QtWidgets.QApplication(sys.argv)

   app.setStyle("Fusion") # 设置窗口风格

   MainWindow = QtWidgets.QMainWindow() # 创建窗体对象

   ui = Ui_MainWindow() # 创建PyQt设计的窗体对象

   ui.setupUi(MainWindow) # 对窗体对象进行初始化设置

   MainWindow.show() # 显示窗体

   sys.exit(app.exec_()) # 程序关闭时退出进程

代码运行并没有什么问题,但是,如果需要修改UI文件,并重新转换.py文件,那么你之前写过的逻辑代码将会如滔滔江水,一去不复返……

20775f02950192caca0eb6d5a0f8be23.png

为了避免这种尴尬,我们在开发PyQt5程序时,可以使用UI与逻辑代码分离的方式来进行开发,具体步骤如下图。

f758162dee15c3c947357e97c6e2b3d8.png

上图中的前两步就是正常的设计窗体和转换.py代码操作,最后3步需要我们新创建一个用于编写逻辑代码的Python代码文件,然后在其中继承自动生成的UI窗体类,并编写相应的业务逻辑代码和main函数,参考代码如下:

from PyQt5 import QtWidgets,QtGui,QtCore

from py文件名 import 类名

class MainWindow(QtWidgets.QMainWindow, 类名):

    def __init__(self, parent=None):

        super(MainWindow, self).__init__(parent)

        self.setupUi(self)

    # 此处编写业务逻辑代码

if __name__ == "__main__":

    import sys

    app = QtWidgets.QApplication(sys.argv)

    mainWindow = MainWindow()

    mainWindow.show()

    sys.exit(app.exec_())

通过这种方法,以后再也不用怕修改UI窗体了……

推荐图书:

每一个学Python的人都不希望自己天天面对的是脚本、控制台、命令窗口,如何用更漂亮美观的界面方式展现你的应用呢?请参阅《Python GUI设计 PyQt5从入门到实践》,这本书对如何使用PyQt5设计Python GUI程序进行了详细的介绍,并配备380分钟的手把手教学视频两大综合实战项目,使读者可以更快速的入门PyQt5。现在购买还享满100减50,店铺首页领券更划算~

End

目前100000+人已关注加入我们

488a2f3df7f753ba2bc6d188b6306298.gif 0513daf12f0b2e5408a105a966de5292.gif 5baf6a2bb4bf0a69595b84b4d2fe82b3.gif 12ead21d8eb8167a77a1e0eef940141a.gif be11c89b752dd96a9b5c3749ee9a9132.gif bad0220965e859fa4426de489e6d7215.gif cc6a990d4e4c802e869f5385a2e61655.gif 5dc88ef8ec9ab6a4abef4426d23de859.gif

f525125b3bce1335bd6642f013efeb69.gif b971a6bc1ef2e7342b13c2ee48e52368.gif 9670a5653ca32266b64c199de2f38fd5.gif 919ed90a9e0df6e2b1836439cc62f0ef.gif 0d549d5a3c0e5a5b650805f40a35011a.gif 79854e3ab0b08bdfc2d03be2d9eaedbc.gif d8f37c7e68363afa52ff30f0fd463f88.gif 88a177f1b35ff25408e6fd23e5a943ec.gif

点击阅读原文

进入明日科技京东自营店↓↓↓

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值