Qt for Python(PySide6)开发中遇到的各种问题及解决方案

一.pycharm外部工具设置

打开PyCharm,菜单中打开 文件->设置,工具->外部工具
在这里插入图片描述

1.设置pyside6-uic

在这里插入图片描述
程序:选择python安装目录下的pyside6-uic.exe文件位置
实参:$FileName$ -o $FileNameWithoutExtension$.py
工作目录:$ProjectFileDir$

2.设置pyside6-rcc

在这里插入图片描述
程序:选择python安装目录下的pyside6-rcc.exe文件位置
实参:$FileName$ -o $FileNameWithoutExtension$_rc.py
工作目录:$FileDir$

3.设置pyside6-designer

在这里插入图片描述
同理找到 pyside6-designer.exe 位置
工作目录:$ProjectFileDir$

使用

通过以上设置后,就可以在主窗口右键快捷使用对应的工具了,比如qt的资源文件.rc ,要想在PySide中编译使用,需要将其转换成py文件。直接在qrc文件窗口 右键,点击添加的rcc工具即可快速生成,如下:
在这里插入图片描述

同理,Qt的.ui文件也是需要转换成py文件才能使用的,按照以上方法 右键点击 PySide6_uic即可。

而我们添加的PySide6_designer,是可以快速打开QDesigner窗口。

二.qml放到资源文件

qml要放进资源文件中去,要不然打包的时候就需要将qml源码放到打包目录中,否则运行的时候找不到。如果将qml放到资源文件中,通过rcc将qrc文件转换成py文件,这样就无法将qml源文件放进打包的运行目录,防止源码泄露。但是如果每次修改qml代码,想要编译看效果 ,都需要重新执行一遍使用rcc将qrc文件转换成py文件。

    # qml_file = Path(__file__).resolve().parent / "main.qml"
    qml_file = "qrc:/main.qml"
    engine.load(str(qml_file))

三. 防止程序重复启动

使用QSharedMemory创建共享内存的方式来实现。

	app = QApplication(sys.argv)
    process_name = "xxxx.exe"  # 被检查的进程名称
    sharedMemory = QSharedMemory(process_name)
    if sharedMemory.attach(QSharedMemory.ReadOnly) :
        QMessageBox.warning(None, "警告", "程序正在运行中,请勿重复打开.")
        sys.exit(-1)
    sharedMemory.create(1)

四.打包

pycharm 底部侧边工具栏,点击“终端”,会自动定位到当前项目的目录下,直接通过 pyinstaller xxx.py 即可打包
在这里插入图片描述
详情可参考:
https://blog.csdn.net/luoyayun361/article/details/144190347
https://www.pythonguis.com/tutorials/packaging-pyside6-applications-windows-pyinstaller-installforge/

五.编译设置

可在菜单 设置->Python解释器 中设置解释器
在这里插入图片描述
可选择想要添加的解释器类型
在这里插入图片描述
然后就可以在标题栏这里找到可以配置编译的设置
在这里插入图片描述
为你当前的项目设置编译运行配置:
在这里插入图片描述
配置完成后直接点击运行按钮即可。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

luoyayun361

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值