Python 将QStyles添加到Pyqt5

Python 将QStyles添加到Pyqt5,python,pyqt,pyqt5,pyqt4,Python,Pyqt,Pyqt5,Pyqt4,我正在将GUI应用程序从PyQt4转换为PyQt5。但是在PyQt4中,我们得到了很多QSTYLE,比如plastique,Cleanlooks等等。但是在PyQt5中,我们只有Fusion样式以及一些普通的旧Windows样式 如何向PyQt5添加更多自定义样式?许多Qt功能都是通过插件实现的,样式就是这样。因此,在这种情况下,您必须编译qtstyleplugins: 您可以使用以下过程编译qtstyleplugins: 在Windows上安装MSVC 2019,在MacOS上安装XCode

我正在将GUI应用程序从PyQt4转换为PyQt5。但是在PyQt4中,我们得到了很多QSTYLE,比如
plastique
Cleanlooks
等等。但是在PyQt5中,我们只有
Fusion
样式以及一些普通的旧Windows样式


如何向PyQt5添加更多自定义样式?

许多Qt功能都是通过插件实现的,样式就是这样。因此,在这种情况下,您必须编译qtstyleplugins:

您可以使用以下过程编译qtstyleplugins:

  • 在Windows上安装MSVC 2019,在MacOS上安装XCode,在Ubuntu上安装build essential(如果是另一个发行版,那么您应该寻找等效版本)

  • 安装Qt,与编译pyqt5时使用的版本相同:pyqt5.QtCore导入Qt\u version\u STR;print('Qt version',Qt\u version\u STR)

  • 克隆存储库,然后通过执行以下命令对其进行编译(对于windows,必须将make更改为nmake):

这些命令将在文件夹“qtstyleplugins/plugins/styles/”中生成二进制文件(.so用于Linux,.dll用于windows,.dylib用于MacOS),您必须将其复制到以下路径:

python -c "import os; from PyQt5 import QtCore; print(os.path.join(QtCore.QLibraryInfo.location(QtCore.QLibraryInfo.PluginsPath), 'styles'))"
输出:

/home/qtuser/Documents/qt_venv/lib/python3.8/site-packages/PyQt5/Qt/plugins/styles
['bb10dark', 'bb10bright', 'cleanlooks', 'cde', 'motif', 'plastique', 'windowsvista', 'Windows', 'Fusion']

为了方便工作,我创建了一个生成二进制文件的github操作:

您可以从下载pyqt5 5.15的二进制文件

测试:

输出:

/home/qtuser/Documents/qt_venv/lib/python3.8/site-packages/PyQt5/Qt/plugins/styles
['bb10dark', 'bb10bright', 'cleanlooks', 'cde', 'motif', 'plastique', 'windowsvista', 'Windows', 'Fusion']

@eyllanesc我安装PyQt4的方法是先下载它的控制盘文件,然后运行pip命令。对于Pyqt5,我只是使用pip安装了它。我的操作系统是Windows10。问得好。Pyside2也有类似问题。所有链接都已过期,无法再下载…请帮助
['bb10dark', 'bb10bright', 'cleanlooks', 'cde', 'motif', 'plastique', 'windowsvista', 'Windows', 'Fusion']