【问题标题】:Get standard palette of the GUI in PyQt5在 PyQt5 中获取 GUI 的标准调色板
【发布时间】:2020-01-30 10:28:09
【问题描述】:

在我的应用程序中有一个按钮可以切换到深色主题。但是如果用户想要切换回初始主题。

我知道在 C++ 中它可以像 qApp->setPalette(this->style()->standardPalette()); 那样完成。

我如何在 python 中做到这一点?

【问题讨论】:

    标签: pyqt5


    【解决方案1】:

    qApp 是应用程序实例,通常使用QtWidgets.QApplication.instance() 或通过QtWidgets.qApp 访问(注意它们是指向实例的指针,但它们会返回不同的python对象,请参阅qApp versus QApplication.instance() 了解更多信息)。

    QtWidgets.QApplication.instance().setPalette(self.style().standardPalette())
    

    请注意,这只会恢复调色板,但在某些系统中这不是一件好事(来自standardPalette()docs

    请注意,在支持系统颜色的系统上,不使用样式的标准调色板。特别是,Windows Vista 和 Mac 样式不使用标准调色板,而是使用本机主题引擎。 使用这些样式,您不应使用 QApplication::setPalette() 设置调色板

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-04
      • 2011-09-22
      • 1970-01-01
      • 2020-10-20
      • 1970-01-01
      • 2017-08-24
      • 2020-05-26
      • 2012-04-04
      相关资源
      最近更新 更多