PySide6的安装与程序打包发布

一、环境搭建

1.1 安装

PySide6官方文档
PySide6 的安装较为简单使用包管理工具安装即可,如pip:

pip install pyside6

查看pyside6安装位置

pip show pyside6

image.png
其中安装目录下的designer.exe是一个界面设计器
image.png

1.2 在pycharm中配置

1.2.1 配置Qt Designer

1.打开PyCharm,进入Settings-Tools-External Tools下,点击加号打开工具编辑对话框image.png
2.配置相关信息
image.png

  • 名称Name 可以随便取名
  • 组Group 默认是"External Tools",也可以修改成其他名字,会新建一个组
  • 描述Description 可以不填
  • 程序Program 填designer.exe文件的路径(这个怎么找前文中已经说过了),根据实际情况填,比如我的是在D:\Environment\Anaconda\envs\PySide6\Lib\site-packages\PySide6\designer.exe
  • 实参Arguments填 F i l e P a t h FilePath FilePath,启动designer时会打开选中的ui文件
  • 工作目录working diretory填 P r o j e c t F i l e D i r ProjectFileDir ProjectFileDir,把默认工作目录设为当前项目目录

1.2.2 配置pyside6-uic

image.png

  • 名称同理,随便取
  • 组可以默认也可以新建
  • 描述可以不填
  • 程序按照实际情况填,我的是D:\Environment\Anaconda\envs\PySide6\Scripts\pyside6-uic.exe (这个文件的位置跟designer.exe不在同级目录下,一定要注意,如果导入的是同级目录下的uic则生成的是c语言的代码)
  • 实参填 F i l e N a m e FileName FileName -o ui_ F i l e N a m e W i t h o u t E x t e n s i o n FileNameWithoutExtension FileNameWithoutExtension.py
  • 工作目录填 F i l e D i r FileDir FileDir,如果填 P r o j e c t F i l e D i r ProjectFileDir ProjectFileDir会报错用不了

1.2.3配置PySIde6-RCC

rcc和uic几乎一样,程序和名称改一下就可以

1.2.4 配置完成

image.png
配置好之后在Tools-》External Tools中可以看到刚才配置的内容,从菜单栏入口或右键点击文件即可使用

二、基础使用

这里因为pyside6大多可以通过可视化界面拖拽实现ui搭建效果,基本能用到的都是所见即所得,可以直接参照视频学习,对于细节功能文章中不做记录
学习视频

2.1 初体验

以下代码运行之后可以挑出来一个白色窗口

from PySide6.QtWidgets import QApplication,QMainWindow

class MyWindow(QMainWindow):
    def __init__(self):
        super().__init__()

if __name__ == '__main__':
    app=QApplication([])
    window=MyWindow()
    window.show()
    app.exec()

三种最基础的控件
QPushButton按钮,QLabel标签,QLineEdit输入框

from PySide6.QtWidgets import QApplication,QMainWindow,QPushButton,QLabel,QLineEdit,QVBoxLayout
from PySide6.QtCore import Qt

class MyWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        btn=QPushButton("来点我啊",self)#创建一个按钮
        btn.setGeometry(0,0,200,100)#设置按钮的属性
        btn.setToolTip("点我有惊喜")
        btn.setText("重新设置文字")#重新设置按钮文字

        #QLabel标签
        lable=QLabel("我是一个标签",self)
        lable.setText("我是被修改的文字")
        lable.setAlignment(Qt.AlignmentFlag.AlignCenter)

        #QLineEdit输入框
        line=QLineEdit(self)
        line.setPlaceholderText("请输入内容")

        mainlayout=QVBoxLayout()
        mainlayout.addWidget(line)
        self.setLayout(mainlayout)


if __name__ == '__main__':
    app=QApplication([])
    window=MyWindow()
    window.show()
    app.exec()

2.2 通过UIC生成静态编译的文件

可以通过刚才设置的UIC工具来生成,也可以通过下面代码生成

 pyside6-uic ui文件的路径 -o 要生成的文件名称.py

2.3 RCC静态资源使用

1.在QT设计师中的 资源浏览器中 设置qrc文件,设置前缀,添加资源
2.使用rcc对qrc文件进行编译
3.在py窗体文件中导入编译后的文件
4.rcc已打包资源的引用,路径只需要 :/rcc资源前缀/资源名称 对于定义了别名的 :/rcc资源前缀/别名


QT设计师生成的qrc文件

<RCC>
  <qresource prefix="images">
    <file alias="b1">bz01.jpg</file>
    <file>bz02.jpeg</file>
  </qresource>
</RCC>
from PySide6.QtGui import QAction, QPixmap
from PySide6.QtWidgets import QMainWindow, QApplication, QMenu, QVBoxLayout, QStyle, QWidget, QLabel
import j025rcc #这个是qrc文件经过rcc编译之后的py文件



class MyWindow(QWidget):
    def __init__(self):
        super().__init__()
        self.lb = QLabel()
        self.lb1 = QLabel("aa")
        #对于rcc已打包资源的引用,只需要 :/rcc资源前缀/资源名称
        self.lb1.setPixmap(QPixmap(":/images/bz02.jpeg"))

        #对于rcc中定义了别名的资源的引用,只需要 :/rcc资源前缀/别名
        self.lb.setPixmap(QPixmap(":/images/b1"))
        self.lb.setScaledContents(True)

        self.mainLayout = QVBoxLayout()
        self.mainLayout.addWidget(self.lb)
        self.mainLayout.addWidget(self.lb1)
        self.setLayout(self.mainLayout)


if __name__ == '__main__':
    app = QApplication([])
    window = MyWindow()
    window.show()
    app.exec()

三、 ui库的使用
qt-material库github地址

3.1 安装

pip install qt-material

四、打包发布

pip install pyinstaller auto-py-to-exe 

运行

auto-py-to-exe

图片.png

  • Script Location:选择要打包的py主程序
  • One File:选生成单一文件
  • 不显示命令行窗口
  • Icon可设置图标Advanced下,可设置UPX(从这里下载 https://upx.github.io/)

然后点击“Convert .PY to .EXE”就会自动生成.exe文件了,在当前目录output子目录下。

4.1 关于多文件打包时遇到的问题及解决方法

图片.png

  1. 以上目录结构在打包完成后运行时出现
    图片.png
  2. 我的解决办法是在Additional Files中把我所用到的文件和目录都添加进去
    图片.png
  3. 重新打包运行后出现第三方库引入问题
    图片.png
    4.解决办法是在Advanced->hidden-import中添加包
    图片.png

4.2 解决打包文件过大问题

4.2.1 使用upx压缩

打包的时候使用UPX压缩文件。那么UPX是什么呢?UPX是一款非常不错的程序文件压缩工具,使用upx压缩过的可执行文件体积缩小50%-70% ,可以大大减少了磁盘占用空间。

如果没有下载过upx,那我们每次使用pyinstaller把python文件打包成exe可执行程序时都能看到下面这句提示,UPX is not available,也就是upx不可用。
图片.png
那upx怎么和pyinstaller配合使用呢?


我们需要先下载UPX执行文件,可以自己去搜或者在 官网 里面下载自己想要的版本,下载下来的是一个压缩包,我们只需要解压后把里面的upx.exe文件复制到pyinstaller.exe同个文件夹(应该是Scripts文件夹)内即可。


pyinstaller默认会从执行目录里搜索upx执行文件,如果找到upx,会对生成的可执行文件进行压缩。现在我们重新执行pyinstaller打包命令,如果像下图这样就说明使用upx配置成功
图片.png

五、 QFluentWidgets美化组件的使用

QFluentWidgets 分为轻量版和完整版,其中完整版多了亚克力组件。由于完整版依赖 scipy,会导致打包体积变大许多,所以建议安装轻量版。

# 安装轻量版
pip install PySide6-Fluent-Widgets -i https://pypi.org/simple/

# 安装完整版
pip install "PySide6-Fluent-Widgets[full]" -i https://pypi.org/simple/

  • 官网
  • GitHub地址
  • Fluent Designer设计师插件地址对于 Windows 系统,可以从 项目发行页面下载 FluentDesigner_v1...7z,解压后双击运行 FluentDesigner.exe 就能启动包含插件的 QtDesigner。
  • 使用 pip 安装好 QFluentWidgets 包并下载好项目仓库对应分支的代码之后,就可以运行 examples 目录下的任意示例程序,比如:
cd examples/gallery
python demo.py

详细代码示例请下载官网的演示程序
图片.png

  • 24
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将PySide6应用程序打包成安卓应用程序,可以使用Python for Android工具。这个工具使用了Android SDK和NDK来构建安卓应用程序。 下面是一些步骤: 1. 安装Python for Android 在命令行中运行以下命令安装Python for Android: ``` pip install python-for-android ``` 2. 创建一个虚拟环境 在命令行中运行以下命令创建一个Python虚拟环境: ``` python -m venv myenv ``` 激活虚拟环境: ``` source myenv/bin/activate ``` 3. 下载PySide6和其他依赖项 在虚拟环境中运行以下命令下载PySide6和其他依赖项: ``` pip install PySide6 pip install android pip install pygame pip install kivy ``` 4. 创建一个安卓工程 在命令行中运行以下命令创建一个安卓工程: ``` p4a create --name myapp --bootstrap=sdl2 --requirements=PySide6,android,pygame,kivy --arch armeabi-v7a ``` 其中,--name参数指定应用程序的名称,--bootstrap参数指定要使用的SDL版本,--requirements参数指定要包含的Python模块,--arch参数指定要构建的架构。 5. 构建应用程序 在命令行中运行以下命令构建应用程序: ``` p4a apk --debug --verbose --arch armeabi-v7a --name myapp --version 0.1 --bootstrap=sdl2 --requirements=PySide6,android,pygame,kivy ``` 其中,--debug参数指定构建调试版本,--verbose参数指定详细输出,--name参数指定应用程序的名称,--version参数指定应用程序的版本号。 6. 安装应用程序 在命令行中运行以下命令安装应用程序: ``` adb install -r myapp-0.1-debug.apk ``` 其中,myapp-0.1-debug.apk是构建的应用程序的名称。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值