必须的!!!

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.translateMainWindow.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文件,那么你之前写过的逻辑代码将会如滔滔江水,一去不复返……

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

上图中的前两步就是正常的设计窗体和转换.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 sysapp = QtWidgets.QApplication(sys.argv)mainWindow = MainWindow()mainWindow.show()sys.exit(app.exec_())

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

每一个学Python的人都不希望自己天天面对的是脚本、控制台、命令窗口,如何用更漂亮美观的界面方式展现你的应用呢?请参阅

《Python GUI设计PyQt5从入门到实践(全彩版)赠纸质专属魔卡、PPT课件》(明日科技)【摘要 书评 试读】- 京东图书​item.jd.com

pycharm pyqt5实现登陆界面_PyQt5可以实现界面和逻辑代码分离吗?大声说出你的答案!...相关推荐

  1. 项目教程 | Pycharm+Pyqt5+Eric6实现逻辑与界面分离(实例教学)

    文章目录 前言 实现步骤:实例演示 1 创建一个eric项目文件 2. 创建窗体UI文件 3. 项目中添加文件 4. 编译UI文件. 5. 关联信号与槽函数 第1种方式,直接添加槽函数并与信号绑定 第 ...

  2. python界面设计模块_Python+Pycharm+PyQT5可视化程序设计入门

    AD: 购买本站源码请联系QQ677123或右侧QQ在线. 一个优秀的程序必须要有友好的可视化交互界面GUI.Python有很多GUI开发的框架,像我之前常用的是自带的Tkinter,对于一些小功能不 ...

  3. 从零开始,在pycharm中使用pyqt5和pyqt5-tools和QT Designer设计界面,不用敲代码

    从零开始,在pycharm中使用pyqt5和pyqt5-tools和QT Designer设计界面,不用敲代码 结果功能展示: 根据设计界面自动生成的python代码: from PyQt5 impo ...

  4. 项目测试 | Pycharm+Pyqt5+Qt Designer6+Eric7实现逻辑与界面分离

    主要问题 本实例主要解决的问题:Qt Designer设计完UI文件,逻辑代码继承编译后的UI类无法实现窗体控件随主窗体大小变化而缩放. 测试目标 1. 用Eric创建epj文件:test.epj U ...

  5. [Deepin - Pycharm] PyQT5安装配置

    [Deepin - Pycharm] PyQT5安装配置 1.环境依赖 python3基础环境, pip下载器 pycharm编辑器 2. 从系统环境中安装pyqt5, qtdesigner > ...

  6. PyCharm PyQt5创建主窗口源代码

    一.PyCharm PyQt5创建主窗口基本过程: 1.打开PyCharm,新建工程MyMainTest. 2.按照Tools-External Tools-QtDesigner,打开QT设计界面,创 ...

  7. pycharm+python3.7+pyqt配置_Python3+Pycharm+PyQt5环境搭建步骤图文详解

    搭建环境: 操作系统:Win10 64bit Python版本:3.7 Pycharm:社区免费版 一.Python3.7安装 下载到安装包后打开,如果想安装到默认路径(C盘)的话一直点下一步就可以了 ...

  8. pycharm python3.7环境_Python3+Pycharm+PyQt5环境搭建步骤图文详解

    搭建环境: 操作系统:Win10 64bit Python版本:3.7 Pycharm:社区免费版 一.Python3.7安装 下载到安装包后打开,如果想安装到默认路径(C盘)的话一直点下一步就可以了 ...

  9. Pycharm+PyQt5环境配置

    Pycharm+PyQt5环境配置 1. 安装pycharm.python3和pyqt5 2. 配置QT Designer 3. 配置编译路径pyuic 4. 测试 1. 安装pycharm.pyth ...

最新文章

  1. C# GDAL 学习一
  2. H-Net:基于无监督注意的立体深度估计
  3. 写论文前先交提纲,没准儿提前就被顶刊接收!Nature:论文还没写,就知道是好研究...
  4. 全国大学生数学建模2014年A题嫦娥三号软着陆轨道设计与控制策略论文与代码
  5. 计算机安全加固自动检查,Windows主机安全加固检查列表.doc
  6. python经典书籍:Python编程实战 运用设计模式、并发和程序库创建高质量程序
  7. 特征选择算法之Relief算法python实现
  8. 2020软件测试报告模板
  9. CentOS7详细安装教程--图文介绍超详细
  10. apm系统服务器,apm系统
  11. UE4 坐标系坐标轴旋转轴
  12. python手把手教你创作趣味词云(保姆级贴心)
  13. yocs_velocity_smoother速度平滑配置与使用
  14. 草根创业者下一个风口:娃娃机
  15. 如何给SCI收录的文章分区?
  16. 科研人员下载外文文献必备的论文网站
  17. 除尘机器人毕业_【干货】焊接机器人除尘方式
  18. python实现魔方复原_大佬们帮忙看一下,python解三阶魔方有沒有更快的方法
  19. Props中的default
  20. 能否构成三角形的条件代码_平面几何之三角形篇

热门文章

  1. 给,你要的Go学习路线图来啦
  2. 两片74161实现60进制_74ls161集成60进制加法计数 - 74LS161集成计数器电路(2、3、4、6、8、10、60进制计数器)...
  3. 在浏览器设置里能看到cookie, 页面调试Application里看不到
  4. 关于服务网关的几个问题
  5. 安装rocketmq-console插件
  6. 深入理解DDD中的聚合
  7. redis经典三节点高可用哨兵模式集群搭建
  8. 《开源硬件创客——15个酷应用玩转树莓派》——第1章 初识树莓派
  9. (笔试题)滑动窗口的最大值
  10. asp.net MVC 验证错误信息本地化