【Qt 学习笔记】Qt常用控件 | 多元素控件 | 多元素控件介绍

简介: 【Qt 学习笔记】Qt常用控件 | 多元素控件 | 多元素控件介绍

Qt常用控件 | 多元素控件 | 控件介绍

一、多元素控件

在Qt中,多元素控件是指可以包含多个子控件的控件。这些子控件可以是任意类型的,比如按钮、文本框、标签等。多元素控件能够提供更丰富的用户界面,并且可以通过对子控件进行布局和样式设置来实现不同的展示效果。常见的多元素控件包括窗口、对话框、表格视图等。使用多元素控件可以方便地组织和管理多个相关的子控件,提高界面的可维护性和扩展性。

在Qt中提供了多元素控件有如下,可以归类为三类

1. 列表

QListWidget:一个用于显示列表的控件,它可以显示字符串、图像和其他自定义项目。它是QListView的一个子类

QListView:是Qt框架中用于显示列表数据的小部件。它是一个基础的列表视图类,提供了一种灵活且高度可定制的方式来显示和管理数据。

2. 表格

QTableWidget:是Qt框架下的一个表格控件,用于显示和编辑表格数据。它是QTableView的一个子类,提供了更方便的方式来操作和呈现表格数据。

QTableView:QTableView是Qt框架下的一个表格控件,用于显示和编辑表格数据。

3. 树形

QTreeWidget:QTreeWidget是一个基于树形结构的控件,用于显示和编辑层次化的数据。它是Qt框架下的一个控件,继承自QTreeView,可以展示树状结构的数据,并支持对树节点的操作和编辑。

QTreeView:QTreeView是Qt框架中的一个控件,用于展示和编辑层次化的数据。它是基于模型视图设计模式的实现,通过设置数据模型来显示数据,并提供了丰富的功能和交互方式。

二、xxWidget 和 xxView 之间的区别

1. 两者的区别

xxWidget 和 xxView 之间的区别

以 QTableWidget 和 QTableView 为例.


QTableView 是基于 MVC 设计的控件. QTableView ⾃⾝不持有数据. 使⽤ QTableView 的时候需要用户创建⼀个 Model 对象 (比如 QStandardModel ), 并且把 Model 和QTableView 关联起来. 后续修改 Model 中的数据就会影响 QTableView 的显⽰; 修改QTableView 的显示也会影响到 Model 中的数据(双向绑定).


QTableWidget 则是 QTableView 的子类, 对 Model 进行了封装. 不需要用户手动创建

Model 对象, 直接就可以往 QTableWidget 中添加数据了.


备注:xxWidget 基于 xxView 同时把 model 和 controller 都帮我们实现好了~~拿过来就可以使用.人家提供了功能很方便的 api, 让我们直接就用


2. 什么是MVC


MVC是一种软件设计模式,它将应用程序的逻辑分成三个部分:模型(Model)、视图(View)和控制器(Controller)。


模型(Model)负责处理应用程序的数据逻辑和业务逻辑。它通常表示应用程序的数据结构和功能,包括数据库查询和更新、数据验证、业务逻辑等。


视图(View)负责展示数据给用户,并处理用户的输入。它通常是用户界面的一部分,可以是一个网页、一个桌面窗口或者一个移动应用的界面。


控制器(Controller)负责协调模型和视图之间的交互。它接收用户的输入,更新模型的状态,并将变化反映到视图上。


MVC的目的是将应用程序的不同部分解耦,使得每个部分都可以独立开发和维护。它提供了一种清晰的架构,使得代码变得可读性强、可扩展性高,并且可以更好地组织和管理代码。许多现代的编程框架和开发工具都采用了MVC作为设计基础。

目录
相关文章
|
5月前
【Qt 学习笔记】Qt窗口 | 标准对话框 | 消息对话框QMessageBox
【Qt 学习笔记】Qt窗口 | 标准对话框 | 消息对话框QMessageBox
887 4
【Qt 学习笔记】Qt窗口 | 标准对话框 | 消息对话框QMessageBox
|
5月前
|
前端开发 程序员 API
【Qt】控件介绍
【Qt】控件介绍
|
5月前
|
开发者
【Qt 学习笔记】Qt系统相关 | Qt事件 | 事件的介绍及基本概念
【Qt 学习笔记】Qt系统相关 | Qt事件 | 事件的介绍及基本概念
249 4
|
5月前
【Qt 学习笔记】Qt窗口 | 标准对话框 | 文件对话框QFileDialog
【Qt 学习笔记】Qt窗口 | 标准对话框 | 文件对话框QFileDialog
961 4
|
5月前
|
数据安全/隐私保护
【Qt 学习笔记】Qt窗口 | 对话框 | 模态与非模态对话框的创建
【Qt 学习笔记】Qt窗口 | 对话框 | 模态与非模态对话框的创建
478 4
|
5月前
|
搜索推荐 C++
【Qt 学习笔记】Qt窗口 | 对话框 | 创建自定义对话框
【Qt 学习笔记】Qt窗口 | 对话框 | 创建自定义对话框
211 4
|
5月前
【Qt 学习笔记】Qt窗口 | 标准对话框 | 输入对话框QInputDialog
【Qt 学习笔记】Qt窗口 | 标准对话框 | 输入对话框QInputDialog
371 3
|
5月前
|
数据可视化
【Qt 学习笔记】Qt窗口 | 标准对话框 | 字体对话框QFontDialog
【Qt 学习笔记】Qt窗口 | 标准对话框 | 字体对话框QFontDialog
120 3
|
5月前
【Qt 学习笔记】Qt窗口 | 标准对话框 | 颜色对话框QColorDialog
【Qt 学习笔记】Qt窗口 | 标准对话框 | 颜色对话框QColorDialog
737 3
|
5月前
|
网络协议 Linux C++
【Qt】多种控件实现“hello world“
【Qt】多种控件实现“hello world“