PySide6 GUI 学习笔记——常用类及控件使用方法(常用类颜色常量QColorConstants)
文章目录
- 一、概述
- 二、颜色常量表
- 标准 Qt 颜色
- SVG 颜色(部分)
- 三、Python 代码示例
- 四、代码说明
- 五、版本兼容性
- 六、延伸阅读
一、概述
QColorConstants
是 Qt for Python 提供的一个预定义颜色常量集合,包含标准Qt颜色和SVG规范颜色。这些常量可直接替代 QColor
对象,无需解析字符串,性能更优且保证有效性。
该类的详细描述见官方文档:QColorConstants
优势
• 高性能:直接使用内存常量,避免字符串解析开销
• 类型安全:始终返回有效 QColor
对象
• 代码简洁:语义化常量名提高可读性
二、颜色常量表
标准 Qt 颜色
常量名 | 十六进制值 | 颜色预览 | |
---|---|---|---|
Black | #000000 | | |
White | #ffffff | | |
Red | #ff0000 | | |
DarkGreen | #006400 | | |
Blue | #0000ff | | |
Transparent | 透明 |
SVG 颜色(部分)
常量名 | 十六进制值 | 颜色预览 | |
---|---|---|---|
Svg.lightblue | #add8e6 | | |
Svg.coral | #ff7f50 | | |
Svg.royalblue | #4169e1 | | |
Svg.gold | #ffd700 | | |
Svg.limegreen | #32cd32 | |
(完整列表包含140+颜色,可通过文档查询)
三、Python 代码示例
from PySide6.QtGui import QColorConstants, QPainter
from PySide6.QtWidgets import QApplication, QWidgetclass ExampleWidget(QWidget):def paintEvent(self, event):painter = QPainter(self)# 使用标准Qt颜色painter.setBrush(QColorConstants.Red)painter.drawRect(10, 10, 80, 80)# 使用SVG颜色painter.setBrush(QColorConstants.Svg.lightblue)painter.drawEllipse(100, 10, 80, 80)# 透明效果painter.setBrush(QColorConstants.Transparent)painter.drawRect(190, 10, 80, 80)if __name__ == "__main__":app = QApplication()window = ExampleWidget()window.show()app.exec()
四、代码说明
- 导入模块:从
QtGui
导入颜色常量,从QtWidgets
导入GUI组件 - 创建画刷:直接使用
QColorConstants.ConstName
格式访问颜色 - SVG颜色:通过
Svg
子命名空间访问SVG规范颜色 - 透明处理:使用特殊常量
Transparent
实现透明效果
五、版本兼容性
Qt 版本 | PySide6 版本 | 支持状态 |
---|---|---|
Qt 6.0+ | PySide6 6.0+ | ✔️ 完全支持 |
Qt 5.x | PySide2 | ✖️ 不支持 |
六、延伸阅读
• 颜色混合:使用 QColor().lighter()/.darker()
方法生成渐变色
• 动态颜色:QPalette
类管理系统主题颜色
• CSS支持:qss
样式表可直接使用颜色名称(如 background: lightblue;
)