在 PyQt5 中获取 GUI 的标准调色板
Posted
技术标签:
【中文标题】在 PyQt5 中获取 GUI 的标准调色板【英文标题】:Get standard palette of the GUI in PyQt5 【发布时间】:2020-01-30 10:28:09 【问题描述】:在我的应用程序中有一个按钮可以切换到深色主题。但是如果用户想要切换回初始主题。
我知道在 C++ 中它可以像 qApp->setPalette(this->style()->standardPalette());
那样完成。
我如何在 python 中做到这一点?
【问题讨论】:
【参考方案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() 设置调色板。
【讨论】:
以上是关于在 PyQt5 中获取 GUI 的标准调色板的主要内容,如果未能解决你的问题,请参考以下文章
OpenCV中的GUI特性 —— 绘图+鼠标画笔+轨迹栏调色板