如何获取对话框/窗口的背景颜色?
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 询问的是如何获取颜色,而不是如何设置。以上是关于如何获取对话框/窗口的背景颜色?的主要内容,如果未能解决你的问题,请参考以下文章