我正在使用PyQt编写Qt5应用程序.我想了解如何更改整个应用程序的样式.
旧的Qt4称之为
app = QApplication(sys.argv)
app.setStyle(QStyleFactory.create('Cleanlooks'))
Run Code Online (Sandbox Code Playgroud)
这里建议什么都不做.
他们被弃用了吗? https://blog.qt.io/blog/2012/10/30/cleaning-up-styles-in-qt5-and-adding-fusion/
谢谢!
可能Cleanlooks
在您的系统上不再可用。通过QStyleFactory.keys()
你可以问你的系统上可用的样式。在Ubuntu 16.04和pyqt5上,我只能得到:
['Windows', 'GTK+', 'Fusion']
Run Code Online (Sandbox Code Playgroud)
编辑:
包含6种其他样式,您必须自己编译
在ubuntu 16.04上,python3.5通过将styleplugins安装到QT5并针对此QT5从源代码编译pyqt5使其工作:
通过onlineinstaller安装QT 5.7
在安装目录搜索qmake
中/opt/Qt/5.7/gcc_64/bin/qmake
将qtstyleplugin下载到任意目录git clone https://code.qt.io/qt/qtstyleplugins.git
并安装:
cd qtstyleplugins
/opt/Qt/5.7/gcc_64/bin/qmake # the qmake from the fresh installation
make
make install
Run Code Online (Sandbox Code Playgroud)
现在有一个/opt/Qt/5.7/gcc_64/plugins/
包含其他样式的文件夹“样式” 。
下载sip-source,编译并安装
下载pyqt5-source,编译并安装它,在该步骤中python3 configure.py
,通过--qmake
-option 提供来自QT5-Installation的qmake,并在输出中查找缺少的依赖项。
现在可以使用以下样式:
['bb10dark', 'bb10bright', 'cleanlooks', 'cde', 'motif', 'plastique', 'Windows', 'Fusion']
Run Code Online (Sandbox Code Playgroud)
我有一个小错误:
RuntimeError: the sip module implements API v11.0 to v11.2 but the PyQt5.QtCore module requires API v11.3
Run Code Online (Sandbox Code Playgroud)
为防止这种情况,请sudo apt-get purge python3-sip
在安装前啜这里所描述
归档时间: |
|
查看次数: |
8483 次 |
最近记录: |