Python 打包兼容Win7 的Qt 步伐

[复制链接]
发表于 2025-9-22 08:27:27 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
之前用PySide6 写了个上位机软件,在Win7 上不能运行,于是整了半天。重要是有两个题目:
一、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 版本只要改这个模块就行。
  1. '''
  2. qt625.py
  3. 让Pyside6 脚本尽量少修改的迁移到PyQt5
  4. '''
  5. from PyQt5.QtWidgets import (
  6.     QApplication,
  7.     QWidget,
  8.     QLabel,
  9.     QMainWindow,
  10.     QMessageBox,
  11.     QTableView,
  12.     QStyle,
  13.     QLineEdit,
  14.     QCheckBox,
  15.     QRadioButton,
  16.     QComboBox,
  17.     QFormLayout,
  18.     QTableWidgetItem,
  19.     QSpinBox,
  20.     QDoubleSpinBox,
  21. )
  22. from PyQt5.QtGui import (
  23.     QStandardItemModel,
  24.     QStandardItem,
  25.     QColor,
  26.     QFont,
  27.     QPalette,
  28.     QStandardItem,
  29.     QStandardItemModel,
  30.     QCloseEvent,
  31.     QTextCursor,
  32. )
  33. from PyQt5.QtCore import (
  34.     Qt,
  35.     QObject,
  36.     QThread,
  37.     QModelIndex,
  38.     QPointF,
  39.     QCoreApplication,
  40.     QSettings
  41. )
  42. from PyQt5.QtCore import pyqtSignal as Signal
  43. from PyQt5.QtCore import pyqtSlot as Slot
复制代码
就这么简朴。后续功能升级要是用到了其他复杂的库,比如numpy 之类的,版本题目估计还得喝一壶,但是现在临时不消考虑。
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表