PyQt学习随笔:Qt中Item Views(Model-Based)和Item Widgets(Item-Based)控件的用途和关系

Qt Model/View 学习(1) - 是什么和为什么? Qt Model/View入门第一篇:先知道Model/View是个啥~有啥用~ 阅读详情

在界面程序开发中,数据的展示主要包括表格、简单列表、树状列表以及纯文本等多种方式,在Qt中将界面表格、简单列表、树状列表称为“表项视图类(item view class)”,并提供了两种实现方式,一种叫item based,这些类名以widget结尾,如QListWidget等。另一种叫model based,这些类以view结尾,如QListView等,对应QtDesigner控件的Item Views(Model-Based)和Item Widgets(Item-Based)这两类控件。

这两类控件都可以实现界面的表项视图展示,二者之间存在关系和区别:
1、Item Views(Model-Based)类内的控件是Item Widgets(Item-Based)内对应控件的父类,如QTreeWidget是从QTreeView派生的;

2、Item Views(Model-Based)的对象进行数据操作相对比较复杂,但处理及展示大数据量时性能高,而Item Widgets的数据操作比较简单,但处理及展示大数据量时性能相对低;

3、Item Views类控件是MVC(Model、View、Controller)架构的一种简化,数据和展现及实现逻辑分开,数据在Model中存储和操作,View负责展现、界面操作及逻辑控制;Item Widgets则将数据、展现及控制合并在一起,开发中没有Item Views灵活,实际上Item Widgets就是在Item Views的基础上绑定了一个默认的存储并提供了相关方法。


老猿Python,跟老猿学Python!
博客地址:https://blog.youkuaiyun.com/LaoYuanPython

老猿Python博客文章目录:https://blog.youkuaiyun.com/LaoYuanPython/article/details/98245036

请大家多多支持,点赞、评论和加关注!谢谢!

PySide6+Qt Designer:拖拽UI与信号槽联动,搞懂桌面应用布局与性能优化 在桌面应用开发中,GUI布局设计往往比业务逻辑更耗时,尤其面对复杂表单和多窗口场景时,纯手写界面代码不仅效率低,还容易在后期维护中陷入困境。Qt Designer作为一款可视化布局工具,通过拖拽控件和布局管理器的组合,大幅降低了桌面应用界面构建的门槛,再配合PySide6的Signal/Slot机制,能够将界面与业务逻辑清晰解耦。理解了布局管理器的嵌套与自适应原理,就能从根本上避免窗口拉伸混乱的问题。而界面开发中常见的卡顿现象,其本质是耗时操作阻塞了UI主线程,合理使用QThread进行任务切换和数据刷新, 阅读详情

相关推荐

PyQt学习笔记:Qt中的Item Views和Item Widgets控件

通过Item Views,可以将数据以可视化的方式展示给用户,同时还可以提供交互式的编辑功能。在Item Views中,每个数据项都可以是一个单独的单元格,并且可以自定义每个单元格的外观和行为。通过使用Item Widgets,可以在Item Views中添加自定义的控件,以满足特定的需求。其中,Item Views和Item Widgets是两个常用的控件,用于显示和编辑数据项。学生的姓名单元格使用了自定义的Item Widget,而其他单元格使用了默认的文本项(QTableWidgetItem)。

TechWhiz的博客 397

第15.18节 PyQt(Python+Qt)入门学习:Model/View架构中视图Item Views父类详解

一、概述 在PyQt图形界面中,支持采用Model/View架构实现数据和界面逻辑分离,其中Model用于处理数据存储,View用于界面数据展现,当Model中的数据变化后对应界面视图自动更新,反之当View中数据进行修改之后,也支持通知Model进行数据调整。 为了快速支持Model/View架构,PyQt提供了一系列类来支持,在Qt Designer中Item Views部件栏的视图部件都是用...

老猿Python 2204

项目视图组(基于模型)Model-Based-Qt-思维导图-学习笔记

Qt 提供了一系列基于模型的视图组件,用于展示和管理数据。这些视图组件包括 QListView、QTreeView、QTableView、QColumnView 和 QUndoView。QListView 继承自 QAbstractItemView,提供非分层的列表或图标视图,主要区别于基于项的 QListWidget,它需要使用模型来减少数据冗余并提高效率。QTreeView 用于展示树形结构的数据,通过 QStandardItemModel 构建树状模型。QTableView 提供表格视图,通过设置..

木木不迷茫(˵¯͒¯͒˵)的博客 707

QT中的item views与Item widgets控件的用法总结

简单总结QT常用的View-model-delegate用法,只提供思路。

记录一些平时工作或者学习中的瞬间 4471

Qt Model/View 学习笔记

Qt Model/View 学习笔记 Qt 4推出了一组新的item view类,它们使用model/view结构来管理数据与表示层的关系。这种结构带来的 功能上的分离给了开发人员更大的弹性来定制数据项的表示,它也提供一个标准的model接口,使得更多的 数据源可以被这些item view使用。这里对model/view的结构进行了描述,结构中的每个组件都进行了解释,

Polyworks脚本开发实战指南:高效生成数据彩图与报告的关键指令解析

本文深入解析了Polyworks脚本开发中生成数据彩图与自动化报告的核心指令。通过实战案例,详细介绍了REFERENCE_SURFACE、THICKNESS和CLEARANCE等关键彩图生成指令的正确用法与常见避坑点,并阐述了如何利用REPORT_ITEM命令实现从截图、表格生成到智能排版的全流程自动化,旨在帮助三维检测与质量控制工程师大幅提升工作效率与报告标准化水平。

weixin_29209825的博客 555

Qt Designer中各个模块的详细介绍,小白一看就会!!第3部分——Item Views (Model-Based) 模块介绍

这些子模块都是基于Qt的Model/View架构设计的,允许数据与视图分离。你可以使用Qt提供的标准数据模型(如QStandardItemModel),也可以自定义数据模型以适应特定的需求。此外,这些视图控件都提供了丰富的接口和属性,允许你定制外观、行为和数据交互方式。在Qt Designer中,你可以通过拖拽的方式将这些视图控件添加到你的界面中,并通过属性编辑器设置相关属性。

qlkaicx的博客 1088

利用Python搭建用户画像系统

用户画像是当下很多企业都会提及的概念,多数情况下会和大数据以及营销挂钩。本文将对用户画像的相关知识进行进行简单的介绍,并利用Python去实现一个简单的用户画像系统。 1.什么是用户画像 用户画像可以理解成是海量数据的标签,根据用户的目标、行为和观点的差异,将他们区分为不同的类型,然后每种类型中抽取出典型特征,赋予名字、照片、一些人口统计学要素、场景等描述,形成一个人物原型 。 用户画像 =...

黎荣恒的博客 3万+

Qt Model/View 编程深度解析报告

本文介绍了Qt框架中的Model/View架构,该架构通过分离数据与视图解决了传统GUI开发中的数据冗余和同步问题。文章首先分析了传统基于项控件的局限性,指出其数据耦合导致的维护成本上升。随后阐述了Model/View对MVC模式的改进,合并视图和控制器角色并引入委托机制,形成了Model/View/Delegate范式。 核心内容围绕三大组件展开: 模型作为数据抽象层,通过QAbstractItemModel标准接口统一访问各类数据源,提供QAbstractListModel和QAbstractTable

greenspan的专栏 2180

PHP服务端 苹果支付(IAP)处理

公司做的app需要做IAP订阅支付,开始觉得和微信的支付流程差不多,做起来还是有点麻烦,主要是网上的文章很少,不能拿来主义。自己做完总结一下,希望对小伙伴们有帮助我就很欣慰了。代码写的不好 不要喷我。。。 首先讲一下我的业务逻辑,也就是php服务端需要做什么事情。 先上图: 下面我详细的讲一下每...

山水的博客 1万+

BlenderGis安装碰到问题,ImageIO、无法点击和地图不加载

BlenderGis安装碰到问题,ImageIO、无法点击和地图不加载问题

qq_45176349的博客 4965

X-AnyLabeling 自定义模型接入与部署指南:内置模型加载、ONNX 适配与 TensorRT 推理全流程

本文是 X-AnyLabeling 自定义模型接入的完整技术指南,围绕模型加载机制、已适配模型的快速替换、未适配模型从零集成以及各类模型的 ONNX 导出展开。读完本文,你将掌握如何离线加载内置模型、修改模型下载源、通过 YAML 配置接入自有 YOLO 权重、从零为 X-AnyLabeling 编写一个全新的推理服务(以 U-Net 为例),并能参考官方导出脚本把常见分类、检测、分割、Groun

gitblog_00151的博客 469

华为OD机考双机位C卷 - 手机App防沉迷系统(Java & Python& JS & C/C++ & GO )

华为OD机考双机位C卷 - 手机App防沉迷系统(OD上机考试双机位C卷)。提供在线OJ刷题。Java、C++、Python、GO语言、C语言、JavaScript题解,并提供完整思路讲解。

算法大师! 2061

QT Model based vs Item based

waiting 转载于:https://www.cnblogs.com/carsonzhu/p/10007192.html

weixin_33853794的博客 1090

升级最新IDEA版本(2022.1.1)

升级最新IDEA版本(2022.1.1)

软件老王 3万+

AIGC实战——变分自编码器(Variational Autoencoder, VAE)

变分自编码器通过在模型中引入随机性,并限制潜空间中的点的分布来解决自编码器存在的问题。只需进行一些微小的调整,就可以将自编码器转换为变分自编码器,从而使其成为真正的生成模型。在本节中,我们介绍了变分自编码器的基本原理,并使用 `Keras` 实现了一个变分自编码器用于生成 Fashion-MNIST 图像。

盼小辉丶的博客 1万+

PyQt(Python+Qt)学习随笔:基于项的项部件(Item Widgets(Item-Based))概述

Model/View架构中的视图部件是基于模型的项视图(Item Views(Model-Based)),要求使用视图的应用必须自己创建模型,管理模型中的数据项,这种方式应用实现起来稍微有点复杂,为此在PyQt和Qt中提供了基于项的项部件(Item Widgets(Item-Based)),包括列表部件(List Widget)、树部件(Tree Widget)、表部件(Table Widget)...

老猿Python 1567

鱼鹰优化算法(OOA)详解:从猛禽捕食智能到优化算法实现

鱼鹰优化算法(Osprey Optimization Algorithm, OOA)是2023年提出的一种新型元启发式优化算法,灵感来源于鱼鹰(一种中型猛禽)高效的捕食策略。算法模拟了鱼鹰从空中识别水下鱼类位置并俯冲捕食,然后将捕获的鱼带至安全位置享用的全过程,以此抽象出全局探索和局部开发两个核心阶段。OOA算法具有参数少、结构简单、收敛速度快、全局寻优能力强等特点。自提出以来,已在函数优化、机器学习参数调优(如CatBoost模型)、路径规划等多个领域展现出良好性能,为解决复杂优化问题提供了新的有效工具。

qq_42212808的博客 273

Qt进阶--Item Views详解(基础,原创,超级详细)

在设计窗口的控件栏有一种控件叫Item Views,非常有用但是很多人不会,这里详细讲一下. 用处: 按照一定格式现实数据(列表,表格,树),并且可以在对数据操作的时候增加槽函数. ----Excel, ----还有这种文件树状图; 基本原理: 就是MVC(Model View Controller,模型-视图-控制器/代理): 这个在游戏和网络引用开发都涉及到. http://c.biancheng.net/view/1864.html https://...

realliyuhao的博客 7481

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Qt学习笔记#第六章:ItemViews & ItemWidgets

排序和过滤:QTableView支持对表格数据进行排序和过滤,你可以通过设置排序器(Sorter)和过滤器(Filter)来实现这些功能。常用的数据模型包括QStandardItemModel和QAbstractListModel等,你可以根据需求选择适合的数据模型。常用的数据模型包括QStandardItemModel和QAbstractListModel等,你可以根据需求选择适合的数据模型。视图与模型分离:QTableView将数据的展示与数据的存储和处理分离开来,使得数据的管理更加灵活和可扩展。

m0_62299670的博客 662

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Qt中Item Views(Model-Based)与Item Widgets(Item-Based)的深度解析

qt基础知识学习

m0_74655006的博客 1536

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Qt 项目视图组(Item Views)与项目控件组(Item Widget)

项目视图组(Item Views) 项目视图组如图所示 项目视图组各个控件名称解释: List View :清单视图 Tree View :树视图 Table View :表视图 Column View :列视图 Undo View :撤销列表 首先介绍一下Table View 和 Table Widget的区别 区别如下表 区别 QTableView QTableWidget 继承关系 QTableWidget继承自QTableView 使用数据模型setModel

weixin_42753827的博客 4406

解码Qt 视图窗口与多界面组件

Qt视图窗口分为Item-Based和Model-Based两类:Item-Based(如QListWidget)直接操作控件项,耦合度高;Model-Based(如QListView)通过模型管理数据,实现解耦。摘要重点介绍了QListWidget的核心用法,包括添加文本/图标项、绑定自定义控件、常用信号槽交互(如获取选中项、双击删除)以及关键API。Item-Based控件适合简单场景,而复杂数据场景推荐使用Model-Based架构。

愿能与同路的你交流互鉴~ 博客园 :https://www.cnblogs.com/YouEmbedded/ 1325

Item Views与 Item Widgets

特性Item Views(模型 / 视图)Item Widgets(自包含数据)数据存储位置独立模型(Model)中控件内部的 Item 中数据共享支持多视图共享同一模型数据仅属于当前控件,无法直接共享大数据性能高效(延迟加载,仅渲染可见数据)低效(全部数据加载到内存,渲染卡顿)自定义能力高(可自定义模型、代理)低(仅支持预定义 Item 操作)学习成本较高(需理解模型 / 视图架构)低(直接操作 Item,开箱即用)

weixin_45954890的博客 845

QT从入门到实战x篇_17_QListWidget控件(List Widget列表是基于item的输出显示;可以实现单行或者多行内容的输出显示)

上篇:QT从入门到实战x篇_16_控件-按钮组(PushButton;ToolButton;RadioButton;CheckBox等按钮组控件的基础使用方法)介绍了按钮组的使用方法,接下来将会介绍几个比较重要的控件,本篇主要介绍List Widget。 总结: Item Views( Model-Based):是基于一些模型的,基于数据库的输出,是按照数据库的模型将数据显示。 Item Widgets(Item-Based ) :是基于一些item输出 List Widget列表: (1)ui->

分享学习成长历程,Winter is coming! 2761
上一篇: PyQt学习随笔:Qt中Model/View相关的主要类及继承关系
下一篇: PyQt学习随笔:Model和View之间的数据互动过程
LaoYuanPython
LaoYuanPython 2020年博客之星Top3 2020年博客之星Top3 领域专家: Python技术领域 领域专家: Python技术领域
博客等级 码龄8年 15万+粉丝 1324原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LaoYuanPython

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值