PyQt5之带图标QCheckBox实现

PYQT:QCheckBox设置选中状态的两种模式 在 PyQt 中,QCheckBox 是一个常用的控件,它用来表示一个可选的状态。setChecked 和 setCheckState 是 QCheckBox 的两个方法,它们都用于设置 QCheckBox 的状态,但是有一些区别。 阅读详情

效果预览

直接看图,效果展现为在Checkbox后跟随图标实现友好的界面交互且可勾选
在这里插入图片描述

核心代码说明

控件初始化

类的构造函数__init__在窗口中创建了一个垂直布局QVBoxLayout,并在布局内添加了一个QListView用于展示可勾选的列表项(通过CheckableItemModel和CheckBoxDelegate来实现相关的数据模型与委托逻辑)

    def __init__(self):
        super().__init__()
        self.setWindowTitle("QCheckBoxIcon Demo")
        __desktop = QDesktopWidget()
        __screen_width = __desktop.screenGeometry().width()
        __screen_height = __desktop.screenGeometry().height()
        self.setGeometry(int(__screen_width * 0.25),
                           int(__screen_height * 0.25),
                           __screen_width // 2,
                           __screen_height // 2)

        self._layout = QVBoxLayout()
        self._list_view = QListView()
        self._model = CheckableItemModel()
        delegate = CheckBoxDelegate()
        self._list_view.setModel(self._model)
        self._list_view.setItemDelegate(delegate)
        self._layout.addWidget(self._list_view, alignment=Qt.AlignTop)      # 可不对齐
        self.setLayout(self._layout)
  • self._model = CheckableItemModel()创建一个CheckableItemModel对象,这个类是自定义的数据模型,用于管理可勾选列表项的数据,并按照PyQt5的数据模型机制与视图QListView进行交互,提供数据展示、更新等功能
  • delegate = CheckBoxDelegate() 创建一个CheckBoxDelegate
PyQT5 中关于 QCheckBox 的勾选状态的一点小细节 复选框勾选状态... 阅读详情

相关推荐

PyQt5入门:一篇就够

和QWidget,这两个类都在模块中,所以首先要导入这个模块。

generalfuck的博客 5306

PyQt5中QCheckBox控件详解及Python实现

本文介绍了PyQt5中QCheckBox控件的基本属性和使用方法,并通过Python代码实现了该控件的功能。在以上代码中,我们首先使用QCheckBox构造函数创建一个QCheckBox控件,并设置控件显示的文本为“选择”。接着通过move()方法设置控件的位置,toggle()方法初始化控件的状态为选中。QCheckBox控件在PyQt5中是一个常用的复选框控件,提供了一种选择或取消选择的功能。在本文中,我们将详解QCheckBox控件的使用,以及通过Python代码实现该控件的功能。

PixelShadeZ的博客 1702

【Python_PySide2学习笔记(十八)】勾选按钮QCheckBox类的基本用法

此篇文章中介绍PySide2中 勾选按钮QCheckBox类的基本用法,包括 ”创建勾选按钮、勾选按钮获取选中状态、创建按钮组、按钮组添加勾选按钮、按钮组设置独占” 等,会持续进行更新,有需要的读者可以点赞收藏,也欢迎在评论区进行讨论。

禾戊之昂的博客 1020

在Cursor IDE中集成Datadog监控:自然语言查询实战指南

在云原生和微服务架构中,可观测性(Observability)已成为保障系统稳定性的核心技术支柱。其核心原理是通过日志(Logs)、指标(Metrics)和追踪(Traces)三大支柱,实时采集并呈现系统的运行状态。这项技术的价值在于,它让开发者能够透视复杂的分布式系统,快速定位性能瓶颈与故障根因。在实际的工程实践中,开发人员常常需要在编码环境与监控平台之间频繁切换,这种上下文切换严重影响了排障效率。本文聚焦于如何利用Model Context Protocol(MCP),将强大的Datadog可观测性平台

weixin_42519772的博客 343

保姆级教程:彻底清理Win11更新缓存并解除外设,一次搞定0xc1900101更新错误

本文提供了一套完整的Win11更新报错0xc1900101解决方案,涵盖软件环境净化和硬件设备隔离。通过终止干扰进程、重置更新组件、清理临时文件以及断开外设等步骤,有效提升更新成功率。特别强调外设驱动兼容性对解决0xc1900101错误的关键作用。

weixin_33483304的博客 414

硬件电路(22)-TTL和232切换电路

工作中会遇到TTL和232电平的通信的状态,为了实现一种便捷的切换方式,参考了一些文章,提供一种电路方便大家使用。

剑藏锋的博客 1843

配置思科交换机冗余链路汇聚

本文对交换机端口汇聚配置进行说明

istrangeboy&begin zero的博客 6675

【MATLAB】绘制泽尼克多项式

上次只给了公式没有给代码,很多小伙伴表示不是很认可。今天直接把代码发上来了。

HPC_ZY 5566

cesium 淹没分析

cesium淹没分析

God's asylum的博客 476

系统架构最佳实践 -- 统一身份认证系统

设计和实现一个高效、安全的统一身份认证系统需要考虑到系统架构设计、用户认证与授权、用户身份管理、安全性保障、日志记录与审计、高可用性与容错性,以及用户体验优化等多个方面。通过合理的架构设计、安全措施和用户体验优化,可以构建一个满足用户需求、提供安全可靠的身份认证服务的系统。本文将总结统一身份认证系统的架构设计与实践经验,帮助读者了解如何设计和实现一个高效、安全的统一身份认证系统。统一身份认证系统应支持详细的日志记录和审计功能。通过合理的身份认证策略和授权机制,可以确保用户身份的准确性和信息的安全性。

xiaoli8748的专栏 1693

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

上一篇: PyQt5之QListView非分层列表实现分层设计
下一篇: PyQt5快速开发与实战
sandro_yun
博客等级 码龄8年 206粉丝 21原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值