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

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

【问题讨论】:

    标签: qt pyqt


    【解决方案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 询问的是如何获取颜色,而不是如何设置。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-02-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-07
      相关资源
      最近更新 更多