PySide6精简教程

目录

  • 一、PySide6概述
  • 二、安装PySide6
  • 三、设计界面
  • 四、响应UI操作
  • 五、打包部署

一、PySide6概述

近几年,受益于人工智能的崛起,Python语言几乎以压倒性优势在众多编程语言中异军突起,成为AI时代的首选语言。在很多情况下,我们想要以图形化方式将我们的人工智能算法打包提供给用户使用,这时候选择以python为主的GUI框架就非常合适了。

QT是众多GUI框架里面非常著名的一款,它本身由C++开发,天然支持基于C++的GUI编程,编出来的图形化软件在当今众多GUI框架中运行效率几乎是天花板级别的,拥有完善的第三方库,极其适合数字图像处理、文档排版、多媒体、3D建模等专业软件开发。与此同时,QT还有一个强大的功能:支持跨平台,简单来理解,就是我们只需要编写一套代码就可以同时在windows、mac、linux上运行。

值得一提的是,QT对Python也有完善API支持,意味着我们可以规避C++编程的苦恼,使用更简洁的Python来代替C++开发QT应用,同样具备跨平台等优势。需要说明的是,目前有两种QT对应的Python工具:PySide和PyQt。这里首先介绍下两者的区别。

PySide是Qt公司的产品,PyQt是第三方公司的产品,二者用法基本相同,不过在使用协议上却有很大差别。PySide可以在LGPL协议下使用,PyQt则在GPL协议下使用。这两个协议的区别就是如果使用PyQt,那么你开发的软件必须开源,否则就存在被告的风险。而PySide就没有这种约束,不管是开发商业闭源软件还是开源软件,你都可以不开源代码,开不开源是你的自由。从这一点上来看,对于商业公司或者说有商业考虑的软件来说,我更倾向于推荐PySide,更何况PySide还是QT的亲儿子。虽然PySide和PyQt在协议上有不同,但是两者提供的接口几乎是完全一致的。目前市面上PyQt的教程完全适合PySide,因此,对于学习者来说学习任何一个都是可以的。

PySide目前常见的有两个版本:PySide2和PySide6。PySide2由C++版的Qt5开发而来.,而PySide6对应的则是C++版的Qt6。从PySide6开始,PySide的命名也会与Qt的大版本 保持一致,不会再出现类似PySide2对应Qt5这种容易混淆的情况。

在使用层面上,PySide2和PySide6无过多的差异,只有一点需要注意,使用PySide6开发的程序在默认情况下不兼容Windows7系统,这也是Qt6所决定的(即使是C++的QT6也不支持windows7)。

二、安装PySide6

对于PySide开发来说,我们不需要完整的安装几个G的Qt,可以像普通Python库一样直接通过pip安装就行,大概占用300MB空间(需要提前安装好python3以及pip)。

可以使用下面的命令安装:

通过这样简单的命令就可以完成安装。

基于PySide6开发GUI程序包含下面三个基本步骤:

  • 设计GUI,图形化拖拽或手撸;
  • 响应UI的操作(如点击按钮、输入数据、服务器更新),使用信 与Slot连接界面和业务;
  • 打包发布;

下面我们按照这个步骤来快速实现一遍。

三、设计界面

我们可以在cmd终端中使用下面的命令启动designer:

启动后designer界面如下所示:

四、响应UI操作

接下来我们就要写代码来把界面展示出来,新建一个名为hello的py文件:

注释中包含了详细的代码说明,接下来我们只要执行这个py文件,就可以看到我们的界面了:

  • Script Location:选择要打包的py主程序;
  • One File:选生成单一文件;
  • Console Window:选择不显示命令行窗口;
  • Icon:可设置图标;
  • Additional Files:除了主程序以外其它的需要打包的文件;
  • Advanced:可设置UPX(从这里下载 https://upx.github.io/)然后点击“Convert .PY to .EXE”就会自动生成.exe文件了,在当前目录output子目录下。该特性用于进一步压缩exe体积。

最终配置如下所示:

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年8月18日
下一篇 2022年8月18日

相关推荐