潍坊市建设局网站,html网页制作的软件下载,网站紧急升级维护中,北京企业网站建设公司哪家好简介
写在最前面的话
在决定学习、使用一个框架之前需要考量如下几点#xff1a;
框架运行效果#xff1b;框架应用范围#xff1b;框架学习成本和迁移成本#xff1b;实现自己所需功能的开发效率#xff1b;
只有综合考量如上四个方面#xff0c;才能更好地选择适合…简介
写在最前面的话
在决定学习、使用一个框架之前需要考量如下几点
框架运行效果框架应用范围框架学习成本和迁移成本实现自己所需功能的开发效率
只有综合考量如上四个方面才能更好地选择适合自己的框架
Python GUI 框架介绍
TK
Tkinter 是 Python 内置的 GUI 框架创建 Tkinter 的目的是为了给现代开发人员提供 Tk GUI 工具包的标准接口和它的 Python 绑定它唯一的优点就是简单无依赖TK 的入门门槛很低但是精通难度大它最大的问题是布局不同于 PyQt 的布局管理器TK 的布局完全使用代码实现就开发效率而言较低且它只提供 15 种控件扩展性差。
PyQt
这个框架是本人首推的 Python GUI 框架PyQt 是 Qt 框架的 Python 版本Qt 本身是一个十分成熟的商业 GUI 框架底层使用 C进行开发。PyQt 是 Python 对 Qt 的包装具有扩展性强、跨平台、显示效果好的优点其次 PyQt 的接口和 Qt 的完全一致所以采用 PyQt 开发 GUI 后期可以转 C开发 Qt。需要注意的是PyQt 有两种许可协议分别是 GPLv3许可证和需要购买版权的商业许可证GPLv3是强开源协议意味着如果你的应用程序里面使用了 PyQt那么你的程序必须开源否则法院传票了解一下因此如果想要闭源商用必须购买 Riverbank Computing 公司的商业许可证目前 PyQt 已经推出了 PyQt 6在 PyQt 5 的基础上对部分模块进行了升级并添加一些新功能。
PySide 2
如果你既想享受 Qt 的强大功能又想闭源商用那么 PySide 完全适合你说到 PySide就不得不说Qt 与 PyQt 之间的恩怨Qt 的研发公司是 NokiaRiverbank Computing 公司使用 Python 封装了 Qt 研发出 PyQt而 PyQt 从诞生时就是 GPLv3协议因此 Nokia 与 Riverbank Computing 谈判希望将 PyQt 的协议修改为 LGPLv3可以带来更多的商业用户但是两个公司谈崩了所以 Nokia 自己重新研发了 Py 版本的 Qt 也就是 PySide后来 Nokia 将 Qt 和 PySide 卖给了 Digia 公司后来在 Digia 公司与开源社区的支持下目前 Pyside 已经迭代到 PySide6了对应 PyQt6注意 PyQt5的对应版本是 PySide2因为 PySide 推出的比较晚因此第二代 Pyside 就对齐了 PySide6。对于 Pyside6由于是官方推出的并且可以闭源商用。二者的函数接口完全一致所以文档基本也是可以互相参考因此还是比较强推 PySide6的。
WxPython
WxPython 是一个流行的跨平台 GUI 工具包。由 Robin Dunn 和 Harri Pasanen 共同开发它的本质是 wxWidgets使用 C编写 的 Python 包装。相比于 PyQt 模块WxPython 模块的文档较少功能相对较弱。
Pygtk
python 对 GTKGUI 库的封装在 linux 平台上运行的比较好需要安装扩展模块在 windows 下的兼容性有一些问题。
PyQt
推荐 PyQt 的原因
文档丰富学习成本低后期迁移成本低开发效率高开发人员可以使用 Qt-designer 进行拖拽布局开发经验可以迁移到 pyside 进行商业软件开发
环境搭建
基本环境
Windows 1164 位Python 3.8.6
安装 PyQt
直接使用 pip 进行安装参考文档
pip install PyQt5
pip install pyqt5-tools如果下载速度过慢可以使用国内镜像
pip install PyQt5 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install pyqt5-tools -i https://pypi.tuna.tsinghua.edu.cn/simplePycharm 环境配置
Qt Designer 是用于设计和构建图形用户界面的 Qt 工具。它允许使用屏幕上的表单和简单的拖放界面设计控件、对话框或完整的窗口。Qt Designer 使用 XML 格式的 .ui 文件储存 GUI 界面文件本身不会生成任何代码.ui 文件可以通过pyuic工具转换为 .py 文件。
这里稍微扩展一下Qt 框架本身包含 uic utility 可以从 .ui 文件生成 C代码。其次 Qt 框架还包含 QUiLoader 类该类可以在应用程序中动态加载 .ui 文件。PyQt 5 只包含了 uic Python 模块可以动态加载 .ui 文件也可以将 .ui 文件转换为 .py 文件pyuic工具本质上是 uic Python 模块的接口命令格式如下
pyuic [options] uifile常用选项如下
-p动态创建并显示 GUI不会生成 Python 代码-o filename生成的 Python 代码将输出到指定文件--version输出版本号-i N指定代码缩进格数-h将帮助信息输出
PyQt 5 支持 Qt 的资源系统用于将起源嵌入到应用程序中方便分发和打包资源.qrc 文件是一个资源集合使用 XML 文件描述存储的资源用于指定需要被嵌入到应用程序中的资源文件。应用程序会以冒号作为开头通过资源文件的原始名称引用相应的文件。
为了将 .qrc 文件转换成 .py 文件需要使用pyrcc 5工具该工具和 pyuic 工具是一致的pyrcc5 会读取 .qrc 文件和资源文件并生成相应的 Python 模块。只需要在应用程序中 import 相应的 Python 资源模块便可以像使用原始文件一样使用相应的资源。
综上为了配置 Pycharm 环境我们需要配置 3 样东西
Qt DesignerPyuicPyrcc
Qt Designer
在 Pycharm 中依次打开 File → Settings → Tools → External Tools点击 Create Tool配置如下
NameQtDesigner
ProgramD:Python38\Lib\site-packages\PySide2\designer.exe(请根据实际修改)
Working directory: $FileDir$Pyuic
在 Pycharm 中依次打开 File → Settings → Tools → External Tools点击 Create Tool配置如下
Name: Pyuic
Program: D:\Program Files\Python38\python.exe(请根据实际修改)
Arguments: -m PyQt5.uic.pyuic $FileName$ -o Ui_$FileNameWithoutExtension$.py
Working directory: $FileDir$Pyrcc
在 Pycharm 中依次打开 File → Settings → Tools → External Tools点击 Create Tool配置如下
Name: PyRCC
Program : D:\Python38\Scripts\pyrcc5.exe(请根据实际修改)
Arguments: $FileName$ -o $FileNameWithoutExtension$_rc.py
Working directory: $FileDir$第一个程序
在 Pycharm 中打开 Qt-Designer。 在左侧控件栏中搜索 Label 控件将控件拖拽到窗口中间并更改其中的文字为 hello world,PyQt5。保存文件为 demo 1_helloworld。 使用pyuic工具将 .ui 文件转换成 .py 文件输入以下代码
import sys from PyQt5.QtWidgets import * from UI.Ui_demo1_helloworld import Ui_MainWindow # 继承基类和自己写的UI类
class MainWindow(QMainWindow, Ui_MainWindow): def __init__(self): super(MainWindow, self).__init__() self.setupUi(self) if __name__ __main__: app QApplication(sys.argv) # 创建APP win MainWindow() # 创建主窗口 win.show() # 显示窗口 sys.exit(app.exec()) # 程序运行运行程序结果如下 至此我们迈出了第一步完成了第一个 PyQt 程序!!!
文中难免会出现一些描述不当之处尽管我已反复检查多次欢迎在留言区指正相关的知识点也可进行分享希望大家都能有所收获