马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
之前用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 版本只要改这个模块就行。
- '''
- 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 之类的,版本题目估计还得喝一壶,但是现在临时不消考虑。
|