10

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

4

3 回答 3

13

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

color = widget.palette().color(QPalette.Background)
print color.red(), color.green(), color.blue()
于 2013-07-04T18:46:46.280 回答
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();可以为您提供桌面的任何部分。

希望有帮助。

于 2013-07-04T16:19:03.703 回答
-1
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)
于 2013-07-04T16:32:10.740 回答