qt QColorDialog
原文链接: qt QColorDialog
QColorDialog提供了选择颜色值的对话框控件。
下面是运行源代码:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2017/11/1 下午3:03
# @Author : hukezhu
# @Site :
# @File : 1101-01-QColorDialog.py
# @Software: PyCharm
"""
在这个例子中,我们从QColorDialog选择一个颜色值,改变背景一个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_())
这个例子包含一个按钮和一个QFrame控件.最开始控件颜色置为黑色,点击按钮之后弹出选择颜色值的对话框,我们点击颜色值,确定之后,就改变了控件的背景颜色.
col = QColor(0, 0, 0) #置为黑色
col = QColorDialog.getColor() #弹出选择颜色值的对话框
if col.isValid():
self.frm.setStyleSheet("QWidget { background-color: %s }"
% col.name())
我们检查一下颜色是否有效。如果单击取消按钮,则没有返回有效颜色。如果颜色是有效的,我们使用样式表改变背景色。
运行效果图:
image.png