PyQt5-Python | QApplication.setStyle 不工作
PyQt5 - Python | QApplication.setStyle not working
我正在尝试使用 setStyle()
方法为我的 PyQt5 应用程序设置自定义样式,但它不起作用。
我也不完全确定应该把它放在哪里。
在我的主要我尝试做:
if __name__ == '__main__':
QApplication.setStyle("mac") #here
app = QApplication(sys.argv)
splash_pix = QPixmap('../resource/logo.png')
start = time.time()
splash = QSplashScreen(splash_pix, Qt.WindowStaysOnTopHint)
splash.show()
while time.time() - start < 1:
time.sleep(0.003)
app.processEvents()
ex = Fy360()
splash.finish(ex)
sys.exit(app.exec_())
编辑:导入 from PyQt5.QtWidgets import QStyleFactory
并打印 QStyleFactory.keys()
后,我得到的输出为:
[u'Windows', u'Fusion']
为什么只有这些选项?
这里出了什么问题?
有些样式依赖于OS,有些则不依赖,例如Mac样式仅适用于Mac OS,或者例如融合是兼容的几个 OS.
部分样式(例如gtk)可以配置如下:
基于discussion:
- 安装
qt5-styleplugins
和 qt5ct
- 设置环境变量 /etc/environment
QT_QPA_PLATFORMTHEME=qt5ct
- 重启系统
- 开始
qt5ct
和 select gtk2
我正在尝试使用 setStyle()
方法为我的 PyQt5 应用程序设置自定义样式,但它不起作用。
我也不完全确定应该把它放在哪里。
在我的主要我尝试做:
if __name__ == '__main__':
QApplication.setStyle("mac") #here
app = QApplication(sys.argv)
splash_pix = QPixmap('../resource/logo.png')
start = time.time()
splash = QSplashScreen(splash_pix, Qt.WindowStaysOnTopHint)
splash.show()
while time.time() - start < 1:
time.sleep(0.003)
app.processEvents()
ex = Fy360()
splash.finish(ex)
sys.exit(app.exec_())
编辑:导入 from PyQt5.QtWidgets import QStyleFactory
并打印 QStyleFactory.keys()
后,我得到的输出为:
[u'Windows', u'Fusion']
为什么只有这些选项?
这里出了什么问题?
有些样式依赖于OS,有些则不依赖,例如Mac样式仅适用于Mac OS,或者例如融合是兼容的几个 OS.
部分样式(例如gtk)可以配置如下:
基于discussion:
- 安装
qt5-styleplugins
和qt5ct
- 设置环境变量 /etc/environment
QT_QPA_PLATFORMTHEME=qt5ct
- 重启系统
- 开始
qt5ct
和 selectgtk2