文章目录
- 一、概述
- 二、颜色常量表
- 标准 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, QWidget
class 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;)



















