Как получить цвет фона диалога / окна?

Как получить цвет фона диалога / окна в формате RGB?

3 ответа

Решение

Использование 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

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

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

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)
Другие вопросы по тегам