PyQt4颜色对话框QColorDialog

Posted 月光诗人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PyQt4颜色对话框QColorDialog相关的知识,希望对你有一定的参考价值。

QColorDialog提供了用于显示颜色的对话框。

#!/usr/bin/python
# -*- coding: utf-8 -*-

import sys
from PyQt4 import QtGui, QtCore 

class ColorDialog(QtGui.QWidget):
    def __init__(self, parent = None):
        QtGui.QWidget.__init__(self)
        
        color = QtGui.QColor(0, 0, 0)
        self.setGeometry(300, 300, 250, 180)
        self.setWindowTitle(ColorDialog)
        
        self.button = QtGui.QPushButton(Dialog, self)
        self.button.setFocusPolicy(QtCore.Qt.NoFocus)
        self.button.move(20, 20)
        
        self.connect(self.button, QtCore.SIGNAL(clicked()), self.showDialog)
        self.setFocus()
        
        self.widget = QtGui.QWidget(self)
        self.widget.setStyleSheet(QWidget {background-color:%s} % color.name())
        self.widget.setGeometry(130, 22, 100, 100)
    
    def showDialog(self):
        col = QtGui.QColorDialog.getColor()
        if col.isValid():
            self.widget.setStyleSheet(QWidget {background-color:%s} % col.name())

app = QtGui.QApplication(sys.argv)
colorDialog = ColorDialog()
colorDialog.show()
sys.exit(app.exec_())

效果:

技术分享

技术分享

以上示例程序显示了一个按钮和一个QWidget部件,给widget部件的出世背景颜色为黑色。使用颜色对话框QColorDialog,我们可以改变widget部件的背景色。

col = QtGui.QColorDialog.getColor()

这一行语句用来弹出颜色对话框。

        if col.isValid():
            self.widget.setStyleSheet(‘QWidget {background-color:%s}‘ % col.name())
以上的语句首先检测颜色是否可用。如果用户单击了颜色对话框的取消按钮,则对话框将不返回任何可用的颜色。如果颜色可用,我们就使用stylesheets设置widget部件的背景色。

以上是关于PyQt4颜色对话框QColorDialog的主要内容,如果未能解决你的问题,请参考以下文章

Qt入门系列开发教程对话框QColorDialog颜色对话框

QT之颜色对话框

我怎么能在另一个小部件中使用 QColorDialog 而不是单独的对话框?

Qt 颜色选择器小部件?

4.2 标准颜色对话框

各种对话框