以背景做网站视频为,单位网站建设实施方案,青岛 网站制作,wordpress设计主题文章首先使用pycharm的 PyQt5 Designer 做一个简单的界面#xff0c;然后引入所谓的“mvc框架”。
一、设计登录界面
下面开始第一个话题#xff0c;使用pycharm的 PyQt5 Designer 做一个简单的界面。
上一篇最后#xff0c;在pycharm中配置了PyQt5 Designer 和 uic#xf…文章首先使用pycharm的 PyQt5 Designer 做一个简单的界面然后引入所谓的“mvc框架”。
一、设计登录界面
下面开始第一个话题使用pycharm的 PyQt5 Designer 做一个简单的界面。
上一篇最后在pycharm中配置了PyQt5 Designer 和 uic接下来使用这些工具开发一个界面。
1、首先打开 Designer1) 在左侧任意位置下图桔色框内点击右键弹出菜单在External Tools 选中 PyQt5 Designer2) 打开 Designer3) 选择Main Windows 点击创建4新窗口5修改窗口标题6保存到项目的main目录下名称为 Main.ui7) 转换图形文件为源代码
右键选中 Main.ui 弹出菜单选中 External Tools -- uic生成源代码 Ui_Main.py
底部提示Process finished with exit code 0 其中 0 表示成功。
如果是 -1 表示执行失败。8查看源代码
Designer图形工具设计后生成的源代码图像定义的核心代码是 setupUi()方法。
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file D:\projects\pycharm\p377test\main\Main.ui
#
# Created by: PyQt5 UI code generator 5.13.0
#
# WARNING! All changes made in this file will be lost!
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName(MainWindow)
MainWindow.resize(800, 600)
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, 800, 26))
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, 登录))
9总结
前面用 PyQt5 Designer 设计了一个界面保存为 ui 文件
通过 uic 将 ui 文件转换成 py 代码。
这个py代码还不能执行因为这些代码只是创建了界面的组件。
需要编写控制代码才能显示界面。
二、通用mvc框架
引入mvc框架的可以解决图形界面代码覆盖的问题实现界面和控制逻辑分离。
界面生成后如果把控制逻辑也写进界面代码下一次修改保存界面就会把控制逻辑代码覆盖。
因此防止代码覆盖的角度需要将控制逻辑和界面代码分离这样无论如何怎样修改界面代码也不影响控制逻辑的代码。
第二点从设计模式为出发点考虑客户端应用以及组件的控制方式mvc模式是最佳的实践。通过将代码按照界面(View)、数据模型(Model)和控制逻辑(Control)进行划分每一个部分关注应用的不同功能代码分工清晰责任明确。
1新建控制代码
右键点击 main 目录弹出菜单选择 New - Python File2)通用模板
在Main.py中增加如下内容
# -*- coding: utf-8 -*-
from PyQt5 import QtWidgets
import sys
from Ui_Main import Ui_MainWindow
class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
# ---------------------------------------------------------------------------------
#
# 初始化
#
# ---------------------------------------------------------------------------------
def __init__(self):
super(MainWindow, self).__init__()
self.setupUi(self)
if __name__ __main__: # 判断本文件是否是启动入口__main__是系统赋给启动模块的变量值
app QtWidgets.QApplication(sys.argv) # 如果是启动文件则创建 Application 实例 app
window MainWindow() # 创建 MainWindow 的实例 window
window.show() # 显示窗口
sys.exit(app.exec_()) # 捕获 app 退出状态
这是一个通用的、最简单的模板。
通过 from Ui_Main import Ui_MainWindow导入图形界面的定义类。
通过继承的方式使用界面类class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow)并在初始化方法中调用图形定义代码 setupUi()
3) 设置源代码根目录
右键点击 main 目录选择 Make Directory as -- Sources Root4) 运行上面第3、4步图中的 main.py 应为 Main.py。
总结
到此这篇关于pycharm开发一个简单界面和通用mvc模板(操作方法图解)的文章就介绍到这了,更多相关pycharm开发界面和通用mvc模板内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家