Python 打包兼容Win7 的Qt 程序

Python3.8

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

之前用PySide6 写了个上位机软件,在Win7 上不能运行,于是整了半天。主要是有两个问题:

  1. Python 版本兼容;
  2. Qt 版本兼容;

一、Python 版本兼容

搜到的回答都是说Python3.9 以后就不兼容Win7 了,所以得降版本到3.8。但是自己的代码降版本容易,库的版本要是降到3.8,新功能都用不了,还可能遇到旧版本的BUG 和性能问题。目前我用的一个核心库要求版本在3.10 以上,老版本不堪用,所以降版本代价挺大的。

好在找了个第三方编译的支持WIN7 的Python 版本,仓库:https://github.com/adang1345/PythonWin7。这位义士自己编译了3.9 以后的版本,支持Windows7 SP1。我本地安装了它的3.10.12 版本,用这个版本搭好环境,pyinstaller 一打包,拿到WIN7 就基本能跑了,日常我在WIN10 也可以直接用这个版本。

二、Qt 版本兼容

Python 本体能兼容Win7 以后,纯Python 写的库就可以直接运行了,Qt 这样的套壳库就不一定。Qt6 基本不兼容Win7,虽然搜到说可以自己想办法反向移植,但是算了,我们脚本小子整不来那种东西,所以就只好从PySide6 迁移到PyQt5。我的程序不算复杂,并不怎么依赖Qt6,可以无痛苦迁移到Qt5。以防以后还想再改回PySide6,弄了个单独的模块负责导入Qt 模块,其他脚本不直接导入Qt 库,以后改Qt 版本只要改这个模块就行。

'''
qt625.py

让Pyside6 脚本尽量少修改的迁移到PyQt5
'''

from PyQt5.QtWidgets import (
    QApplication,
    QWidget,
    QLabel,
    QMainWindow,
    QMessageBox,
    QTableView,
    QStyle,
    QLineEdit,
    QCheckBox,
    QRadioButton,
    QComboBox,
    QFormLayout,
    QTableWidgetItem,
    QSpinBox,
    QDoubleSpinBox,
)

from PyQt5.QtGui import (
    QStandardItemModel,
    QStandardItem,
    QColor,
    QFont,
    QPalette,
    QStandardItem,
    QStandardItemModel,
    QCloseEvent,
    QTextCursor,
)

from PyQt5.QtCore import (
    Qt, 
    QObject,
    QThread,
    QModelIndex,
    QPointF,
    QCoreApplication,
    QSettings
)

from PyQt5.QtCore import pyqtSignal as Signal
from PyQt5.QtCore import pyqtSlot as Slot

就这么简单。后续功能升级要是用到了其他复杂的库,比如numpy 之类的,版本问题估计还得喝一壶,但是现在暂时不用考虑。

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值