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部件的背景色。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM