当前位置: 首页 > article >正文

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()

代码运行效果

四、代码说明

  1. 导入模块:从 QtGui 导入颜色常量,从 QtWidgets 导入GUI组件
  2. 创建画刷:直接使用 QColorConstants.ConstName 格式访问颜色
  3. SVG颜色:通过 Svg 子命名空间访问SVG规范颜色
  4. 透明处理:使用特殊常量 Transparent 实现透明效果

五、版本兼容性

Qt 版本PySide6 版本支持状态
Qt 6.0+PySide6 6.0+✔️ 完全支持
Qt 5.xPySide2✖️ 不支持

六、延伸阅读

• 颜色混合:使用 QColor().lighter()/.darker() 方法生成渐变色

• 动态颜色:QPalette 类管理系统主题颜色

• CSS支持:qss 样式表可直接使用颜色名称(如 background: lightblue;

http://www.lryc.cn/news/2378740.html

相关文章:

  • 大模型技术演进与应用场景深度解析
  • 鸿蒙5.0项目开发——鸿蒙天气项目的实现(主页1)
  • python项目参考文献
  • 【ESP32】ESP-IDF开发 | 低功耗蓝牙开发 | GATT规范和ATT属性协议 + 电池电量服务例程
  • 2025 年九江市第二十三届中职学校技能大赛 (网络安全)赛项竞赛样题
  • 【记录】Windows|竖屏怎么调整分辨率使横竖双屏互动鼠标丝滑
  • 开源项目实战学习之YOLO11:12.2 ultralytics-models-sam-decoders.py源码分析
  • 数据结构*优先级队列(堆)
  • 汽车Wafer连接器:工业设备神经网络的隐形革命者
  • 微信小程序:封装表格组件并引用
  • 湖北理元理律师事务所:债务优化中的双维支持实践解析
  • uniapp在APP上如何使用websocket--详解
  • 计网| 网际控制报文协议(ICMP)
  • Conda 完全指南:从环境管理到工具集成
  • 安卓中0dp和match_parent区别
  • 蓝桥杯-不完整的算式
  • 信贷风控笔记4——贷前策略之额度、定价(面试准备12)
  • A级、B级弱电机房数据中心建设运营汇报方案
  • Linux中的域名解析服务器
  • 如何优化Java中十进制字符串转十六进制的性能
  • CycleISP: Real Image Restoration via Improved Data Synthesis通过改进数据合成实现真实图像恢复
  • Day28 Python打卡训练营
  • 【OpenCV】基本数据类型及常见图像模式
  • Linux之Nginx安装及配置原理篇(一)
  • 【Linux网络】NAT和代理服务
  • 中药药效成分群的合成生物学研究进展-文献精读130
  • 【消息队列】RabbitMQ基本认识
  • OCCT知识笔记之OCAF框架详解
  • 蓝桥杯 16. 外卖店优先级
  • 1T 服务器租用价格解析