【问题标题】:PyQt5 - Python | QApplication.setStyle not workingPyQt5 - Python | QApplication.setStyle 不工作
【发布时间】:2017-10-12 21:43:59
【问题描述】:

我正在尝试使用 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']

为什么只有这些选项?

这里出了什么问题?

【问题讨论】:

  • 您可以运行以下命令:from PyQt5.QtWidgets import QStyleFactory; print(QStyleFactory.keys()) 并向我们展示您的内容
  • @eyllanesc 抱歉回复晚了,我照你说的做了,但没有输出!这是什么意思?
  • @eyllanesc 对不起,我犯了一个错误,我试图在一个函数中打印键,因此我没有输出,但是当我在我的 main 中尝试它时,我得到了这个[u'Windows', u'Fusion']
  • 这些是您可以使用的样式。你的操作系统是什么?
  • 有些样式依赖于操作系统,有些则不依赖于操作系统,例如 Mac 样式仅适用于 Mac OS,或者例如 fusion 兼容多个操作系统。

标签: python pyqt qt5 pyqt5 qapplication


【解决方案1】:

有些样式依赖于操作系统,有些则不依赖于操作系统,例如 Mac 样式仅适用于 Mac OS,或者例如 fusion 兼容多个操作系统。

一些样式(例如gtk)可以配置如下:

基于discussion

  • 安装qt5-stylepluginsqt5ct
  • /etc/environment中设置环境变量QT_QPA_PLATFORMTHEME=qt5ct
  • 重启系统
  • 启动qt5ct 并选择gtk2

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-10
    • 2020-11-03
    • 1970-01-01
    • 2017-12-31
    • 2018-11-08
    • 2017-05-22
    • 1970-01-01
    相关资源
    最近更新 更多