如何获取对话框/窗口的背景颜色?

Posted

技术标签:

【中文标题】如何获取对话框/窗口的背景颜色?【英文标题】:How to get background color of a dialog/window? 【发布时间】:2013-07-04 15:05:02 【问题描述】:

如何获取 RGB 格式的对话框/窗口的背景颜色?

【问题讨论】:

【参考方案1】:

使用QWidget::palette 访问小部件的调色板,使用QPalette::color 获取背景颜色:

color = widget.palette().color(QPalette.Background)
print color.red(), color.green(), color.blue()

【讨论】:

错字:QPalette::Background 其实 不,在 Python 中是 .【参考方案2】:

http://qt-project.org/doc/qt-4.8/qwidget.html#palette-prop

http://qt-project.org/doc/qt-4.8/qpalette.html

http://qt-project.org/doc/qt-4.8/qpalette.html#ColorRole-enum

QPalette::Window - 10 - 一般背景色。

QPixmap::grabWindow(); 可以为您获取桌面的任何部分。

希望对您有所帮助。

【讨论】:

【参考方案3】:
import sys
from PyQt4 import QtGui, QtCore

class MainWin(QtGui.QDialog):
   def __init__(self,parent=None):
      QtGui.QDialog.__init__(self,parent)
      pal=QtGui.QPalette()
      role = QtGui.QPalette.Background
      pal.setColor(role, QtGui.QColor(0, 0, 255))
      self.setPalette(pal)

或使用样式表

      self.setStyleSheet("background:blue)

【讨论】:

OP 询问的是如何获取颜色,而不是如何设置。

以上是关于如何获取对话框/窗口的背景颜色?的主要内容,如果未能解决你的问题,请参考以下文章

如何设置Android Studio背景的颜色

怎么设置Visual Studio代码窗口背景颜色

怎么设置Visual Studio代码窗口背景颜色

如何改变matlab scope 输出的背景颜色以及曲线的颜色

获取并使用背景颜色在其他窗口中应用相同的颜色

win10怎样修改窗口背景颜色?