如何以RGB格式获取对话框/窗口的背景颜色?
使用 QWidget::palette
来访问小部件的调色板,QPalette::color
获取背景颜色:
color = widget.palette().color(QPalette.Background)
print color.red(), color.green(), color.blue()
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();
可以获取桌面的任何部分。
希望这有所帮助。
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)
QPalette::Background
实际上应该是 - thiagowfx