| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> Python模型封装部署 -> 正文阅读 |
|
[Python知识库]Python模型封装部署 |
一、桌面应用软件????????桌面应用软件是基于GUI(Graphical User Interface,图形用户界面)交互式程序,需要实现GUI库实现前端交互。 ? ? ?Python常见的GUI库
? ? ?程序打包工具:Pyinstaller ? ? ?下图为Python桌面应用软件开发大体的技术架构。 ?图1 软件技术架构 二、Pyside2&Qt designer????????(1)PySide2——控件 ? ? ? ? 图形界面的工具基础:控件(widget)、信号(signal)与槽(solt),控件表示前端界面可显示/操作/交互的元素,如按钮、输入控件、展示控件等,供用户点击、接受用户输入、展示内容、存放其它控件。 ????????PySide2的安装:
? ? ? ? 下面为一个PySide2程序的实现流程: ? ? ? ? 1.定义一个应用 ? ? ? ? 2.定义主窗口 ? ? ? ? 3.定义需要的控件 ? ? ? ? 4.执行应用,进入事件循环
?图2 PySide2实现第一个GUI界面 ????????(2)PySide2——信号(signal)与槽(slot) ? ? ? ? 用户对图形界面的控件操作就会产生信号,程序应能接收识别信号,并进行相应的处理。特点信号的处理函数称为槽。 ? ? ? ? 按钮被点击时,向程序发出信号,程序自动执行btn_slot函数。
??图3?PySide2实现第二个GUI界面 ? ? ? ? (3)常用控件 ? ? ? ? 1.按钮:btn = QPushButton(“我的按钮”,window) ? ? ? ? 2.单行文本框:text_edit = LineEdit(window) ? ? ? ? 3.标签显示:label = QLabel(window) ? ? ? ? 4.文件选择:path_file,filetype = QFileDialog.getOpenFileName(window,"选取文件","./","All File(*);;Text Files(*.jpg)") ? ? ? ? (4)Qt Designer ? ? ? ? Qt Designer可以通过拖曳的方式完成复杂的界面设计,完成控件设计。Qt Designer生成的UI界面是一个后缀为.ui的文件,其实是一个XML文件。通过使用pyuic5命令将.ui文件转换成.py文件,然后将.py文件引入到自定义的Python代码中。主要分为以下四步:
图4 Qt Designer设计流程 三、模型封装部署? ? ? ? 封装--面向对象三大特性之一,面向对象(Object Oriented Programming)的三大特性如下:
? ? ? ? 类的设计三要素:
图5?封装模型的过程?
四、Pyinstaller? ? ? ? Pyinstaller是一个用来将Python程序打包成一个独立可执行软件包,支持Windows、Linux和Mac OS,Pyinstaller可以读取您编写的Python脚本。 ????????Pyinstaller分析代码执行所需的所有模块,然后将这些文件的副本和Python解释器一起放在单个文件夹中,或者在单个可执行文件中。 ?????????Pyinstaller的安装:
? ? ? ? 软件打包执行命令:pyinstaller xxx.py,完成后到root/dist/xxx下,找到xxx.exe
? ?? ? ?更新spec文件命令:
? ? ? ? 常用参数: ? ? ? ? -F,-onefile产生单个的可执行文件 ? ? ? ? -p,设置python导入模块的路径(和设置pythonpath环境变量的作用相似) ? ? ? ? --noconsole软件启动时不显示命令窗 五、总结? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 9:51:57- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |