下面是关于PyQt5的QColorDialog子项的使用攻略:
PyQt5的QColorDialog-子项
简介
QColorDialog是PyQt5中的一个颜色选择对话框。除了可以选择颜色之外,还有一些自定义的子项可以使用。子项包括:
- 当前选择颜色的色块
- RGB颜色值
- HSV颜色值
- HSL颜色值
- Alpha透明度值
示例
示例1:基本使用
首先导入必要的库:PyQt5.QtWidgets
。
from PyQt5.QtWidgets import QApplication, QColorDialog, QWidget
import sys
然后,创建应用程序实例,实例化QColorDialog,并显示出来。
app = QApplication(sys.argv)
colorDialog = QColorDialog()
colorDialog.show()
sys.exit(app.exec_())
运行代码,弹出颜色选择对话框。
对话框中,最左侧是自定义颜色的面板,点击可以设置自定义颜色。
中间是颜色选择器,可以在其中选择颜色。
右侧是当前选中的颜色,以及子项。
示例2:获取子项的颜色信息
在对话框的右侧,除了显示当前选中颜色的小块之外,还有一些子项可以显示完整的颜色信息。
我们可以通过代码来获取这些子项的颜色值。在选择颜色之后,会调用QColorDialog的currentColorChanged信号。将其连接到一个槽函数中,然后在槽函数中获取子项的颜色值。
class Example(QWidget):
def __init__(self):
super().__init__()
self.setUI()
def setUI(self):
colorDialog = QColorDialog(self)
colorDialog.setOption(QColorDialog.NoButtons, True)
colorDialog.setCurrentColor(Qt.red)
colorDialog.currentColorChanged.connect(self.onColorChanged)
colorDialog.show()
def onColorChanged(self, color):
print('-----------')
print(f'color name: {color.name()}')
print(f'RGB: {color.red()}, {color.green()}, {color.blue()}')
print(f'HSV: {color.hue()}, {color.saturation()}, {color.value()}')
print(f'HSL: {color.hslHue()}, {color.hslSaturation()}, {color.lightness()}')
print(f'Alpha: {color.alpha()}')
if __name__ == '__main__':
app = QApplication(sys.argv)
example = Example()
sys.exit(app.exec_())
运行代码,选择颜色之后,可以在控制台中查看输出的颜色信息。其中,color.name()
是当前颜色的十六进制颜色值,RGB和HSV是三个整数,而类似于HSL和Alpha的是浮点数。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:PyQt5的QColorDialog – 子项 - Python技术站