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


  • 博客主页:Duck Bro 博客主页
  • 系列专栏:Qt 专栏
  • 关注博主,后期持续更新系列文章
  • 如果有错误感谢请大家批评指出,及时修改
  • 感谢大家点赞👍收藏⭐评论✍

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

文章编号:Qt 学习笔记 / 35


一、多元素控件

在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作为设计基础。


在这里插入图片描述

相关推荐

最近更新

  1. .Net Core WebAPI参数的传递方式

    2024-05-16 00:20:18       0 阅读
  2. QT--气泡框的实现

    2024-05-16 00:20:18       1 阅读
  3. LeetCode 968.监控二叉树 (hard)

    2024-05-16 00:20:18       0 阅读
  4. leetcode热题100.完全平方数(动态规划进阶)

    2024-05-16 00:20:18       0 阅读
  5. leetcode328-Odd Even Linked List

    2024-05-16 00:20:18       0 阅读
  6. C 语言设计模式(结构型)

    2024-05-16 00:20:18       0 阅读
  7. v-if 与 v-show(vue3条件渲染)

    2024-05-16 00:20:18       0 阅读
  8. kafka防止消息丢失配置

    2024-05-16 00:20:18       0 阅读

热门阅读

  1. 根据标签最大层面ROI提取原始图像区域(二)

    2024-05-16 00:20:18       2 阅读
  2. AOP面向切面编程

    2024-05-16 00:20:18       4 阅读
  3. [初学rust] 03_所有权

    2024-05-16 00:20:18       3 阅读
  4. 大前端之Flex 布局

    2024-05-16 00:20:18       2 阅读
  5. Linux-笔记 man手册命令

    2024-05-16 00:20:18       2 阅读
  6. linq常用方法

    2024-05-16 00:20:18       2 阅读
  7. FAT32 文件系统详解

    2024-05-16 00:20:18       2 阅读
  8. 3099.哈沙德数——力扣

    2024-05-16 00:20:18       2 阅读