首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >PySide6 GUI 编程(35):QPalette 小结

PySide6 GUI 编程(35):QPalette 小结

原创
作者头像
密码学人CipherHUB
发布2024-08-26 16:23:25
发布2024-08-26 16:23:25
43310
代码可运行
举报
文章被收录于专栏:编码视界编码视界
运行总次数:0
代码可运行

QPalette的ColorRole类型

示例代码

代码语言:python
代码运行次数:0
运行
复制
from PySide6.QtGui import QFont, QPalette, Qt
from PySide6.QtWidgets import QApplication, QLabel, QMainWindow, QVBoxLayout, QWidget


class MyMainWindow(QMainWindow):
    def __init__(self):
        super().__init__()

        # 初始化布局
        main_layout = QVBoxLayout()  # 创建布局

        # 创建一个容器部件
        container = QWidget()
        container.setLayout(main_layout)  # 将布局设置到容器部件

        # 为每一个 ColorRole 创建一个 QLabel 并设置其颜色
        for role in QPalette.ColorRole:
            """
            QPalette.ColorRole.NColorRoles 是一个特殊的 QPalette.ColorRole 枚举值,表示颜色角色的数量
            这个值不代表一个实际的颜色角色,而是用于在循环遍历或计算颜色角色数量时作为一个边界值
            """
            if role == QPalette.ColorRole.NColorRoles:
                print(role.name, 'out of border')
                break
            label = QLabel(role.name)  # 使用 str(role) 确保得到字符串
            label.setAlignment(Qt.AlignmentFlag.AlignHCenter | Qt.AlignmentFlag.AlignVCenter)
            label.setFont(QFont('Hack nerd font mono', 20))
            main_layout.addWidget(label)  # 将标签添加到布局

        self.setCentralWidget(container)  # 将容器部件设置为中心部件


if __name__ == '__main__':
    app = QApplication([])
    window = MyMainWindow()
    window.show()
    app.exec()

运行效果

枚举 ColorRole
枚举 ColorRole

汇总

ColorRole 与 ColorGroup
ColorRole 与 ColorGroup

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • QPalette的ColorRole类型
    • 示例代码
    • 运行效果
  • 汇总
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档