PyQt5學(xué)習(xí)記錄(五): QColorDialog

QColorDialog提供了選擇顏色值的對(duì)話框控件。

下面是運(yùn)行源代碼:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2017/11/1 下午3:03
# @Author  : hukezhu
# @Site    : 
# @File    : 1101-01-QColorDialog.py
# @Software: PyCharm


"""
    在這個(gè)例子中,我們從QColorDialog選擇一個(gè)顏色值,改變背景一個(gè)QFrame控件顏色。


"""

from PyQt5.QtWidgets import (QWidget, QPushButton, QFrame, QColorDialog,QApplication)
from PyQt5.QtGui import QColor
import sys

class Example(QWidget):
    def __init__(self):
        super().__init__()

        self.initUI()

    def initUI(self):

        col = QColor(0,0,0)

        self.btn = QPushButton('Dialog',self)
        self.btn.move(20,20)

        self.btn.clicked.connect(self.showDialog)

        self.frm = QFrame(self)
        self.frm.setStyleSheet("QWidget { background-color : %s}" % col.name())
        self.frm.setGeometry(130,22,100,100)

        self.setGeometry(300,300,250,180)
        self.setWindowTitle('Color dialog')
        self.show()


    def showDialog(self):

        col = QColorDialog.getColor()

        if col.isValid():
            self.frm.setStyleSheet("QWidget { background-color: %s }"
                % col.name())


if __name__ == '__main__':

    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())

這個(gè)例子包含一個(gè)按鈕和一個(gè)QFrame控件.最開始控件顏色置為黑色,點(diǎn)擊按鈕之后彈出選擇顏色值的對(duì)話框,我們點(diǎn)擊顏色值,確定之后,就改變了控件的背景顏色.

col = QColor(0, 0, 0)   #置為黑色
col = QColorDialog.getColor() #彈出選擇顏色值的對(duì)話框

if col.isValid():
    self.frm.setStyleSheet("QWidget { background-color: %s }"
        % col.name())

我們檢查一下顏色是否有效。如果單擊取消按鈕,則沒有返回有效顏色。如果顏色是有效的,我們使用樣式表改變背景色。

運(yùn)行效果圖:

image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容