【Qt】控件——Qt多元素控件、常见的多元素控件、多元素控件的使用、List Widget、Table Widget、Tree Widget

devtools/2024/10/24 1:26:58/

文章目录

  • Qt
    • Qt多元素控件
      • List Widget
      • Table Widget
      • Tree Widget

Qt

在这里插入图片描述
  

Qt多元素控件

List Widget

  使用 QListWidget 能够显示一个纵向的列表。

  

属性说明
currentRow当前被选中的是第几行。
count一共有多少行。
sortingEnabled是否允许排序。
isWrapping是否允许换行。
itemAlignment元素的对齐方式。
selectRectVisible被选中的元素矩形是否可见。
spacing元素之间的间隔。

  

方法说明
addItem(const QString& label)、addItem(QListWidgetItem *item)列表中添加元素。
currentItem()返回 QListWidgetItem*,表示当前选中的元素。
setCurrentItem(QListWidgetItem* item)设置选中哪个元素。
setCurrentRow(int row)设置选中第几行的元素。
insertItem(const QString& label, int row)、insertItem(QListWidgetItem *item, int row)在指定的位置插入元素。
item(int row)返回 QListWidgetItem*,表示第 row 行的元素。
takeItem(int row)删除指定行的元素,返回 QListWidgetItem*,表示是哪个元素被删除了。

  

信号说明
currentItemChanged(QListWidgetItem* current, QListWidgetItem* old)选中不同元素时会触发。参数是当前选中的元素和之前选中的元素。
currentRowChanged(int)选中不同元素时会触发。参数是当前选中元素的行数。
itemClicked(QListWidgetItem* item)点击某个元素时触发。
itemDoubleClicked(QListWidgetItem* item)双击某个元素时触发。
itemEntered(QListWidgetItem* item)鼠标进入元素时触发。

  

  在上述介绍中,涉及到一个关键的类 ——QListWidgetItem。这个类表示 QListWidget 中的一个元素。其核心方法本质上是由 “文本 + 图标” 构成的。

  

方法说明
setFont设置字体。
setIcon设置图标。
setHidden设置隐藏。
setSizeHint设置尺寸。
setSelected设置是否选中。
setText设置文本。
setTextAlignment设置文本对齐方式。

  

  1. 代码示例:创建一个 QListWidget,并且我们可以在里面进行添加元素和删除元素的操作。

在这里插入图片描述
  

  1. 连接槽函数,addItem()的作用就是向 QListWidget 控件中添加 QListWidgteItem 元素;takeItem 作用是删除控件中的元素。

在这里插入图片描述

  

Table Widget

  Table Widget 使用 QTableWidget 表示一个表格控件。一个表格中包含若干行,每一行又包含若干列。表格中的每个单元格,是一个 QTableWidgetItem 对象。

  

方法说明
item(int row, int column)根据行数和列数获取指定的 QTableWidgetItem*。
setItem(int row, int column, QTableWidget*)根据行数和列数设置表格中的元素。
currentItem()返回被选中的元素 QTableWidgetItem*。
currentRow()返回被选中元素是第几行。
currentColumn()返回被选中元素是第几列。
row(QTableWidgetItem*)获取指定 item 是第几行。
column(QTableWidgetItem*)获取指定 item 是第几列。
rowCount()获取行数。
columnCount()获取列数。
insertRow(int row)在第 row 行处插入新行。
insertColumn(int column)在第 column 列插入新列。
removeRow(int row)删除第 row 行。
removeColumn(int column)删除第 column 列。
setHorizontalHeaderItem(int column, QTableWidget*)设置指定列的表头。
setVerticalHeaderItem(int row, QTableWidget*)设置指定行的表头。

  

  QTableWidgetItem 核心方法:

方法说明
row()获取当前是第几行。
column()获取当前是第几列。
setText(const QString&)设置文本。
setTextAlignment(int)设置文本对齐。
setIcon(const QIcon&)设置图标。
setSelected(bool)设置被选中。
setSizeHints(const QSize&)设置尺寸。
setFont(const QFont&)设置字体。

  

信号说明
cellClicked(int row, int column)点击单元格时触发。
cellDoubleClicked(int row, int column)双击单元格时触发。
cellEntered(int row, int column)鼠标进入单元格时触发。
currentCellChanged(int row, int column, int previousRow, int previousColumn)选中不同单元格时触发。

  

  1. 创建表格控件QTableWidget。

在这里插入图片描述

  

  1. 使用setItem向表格控件中添加元素。
    在这里插入图片描述

  

Tree Widget

  Tree Widget 使用 QTreeWidget 表示一个树形控件。里面的每个元素都是一个 QTreeWidgetItem,每个 QTreeWidgetItem 可以包含多个文本和图标,每个文本 / 图标为一个列。

  可以给 QTreeWidget 设置顶层节点(顶层节点可以有多个),然后再给顶层节点添加子节点,从而构成树形结构。这种结构非常适合展示具有层次关系的数据,比如文件系统目录结构、组织结构图等。

  

方法说明
clear清空所有子节点
addTopLevelItem(QTreeWidgetItem* item)新增顶层节点
topLevelItem(int index)获取指定下标的顶层节点.
topLevelItemCount()获取顶层节点个数
indexOfTopLevelItem(QTreeWidgetItem* item)查询指定节点是顶层节点中的下标
takeTopLevelItem(int index)删除指定的顶层节点. 返回 QTreeWidgetItem* 表示被删除的元素
currentItem()获取到当前选中的节点, 返回 QTreeWidgetItem*
setCurrentItem(QTreeWidgetItem* item)选中指定节点
setExpanded(bool)展开/关闭节点
setHeaderLabel(const QString& text)设置 TreeWidget 的 header 名称。

  

信号说明
currentItemChanged (QTreeWidgetItem* current, QTreeWidgetItem* old)切换选中元素时触发
itemClicked (QTreeWidgetItem* item, int col)点击元素时触发
itemDoubleClicked (QTreeWidgetItem* item, int col)双击元素时触发
itemEntered (QTreeWidgetItem* item, int col)鼠标标进⼊时触发
itemExpanded (QTreeWidgetItem* item)元素被展开时触发
itemCollapsend (QTreeWidgetItem* item)元素被折叠时触发。

  

  QTreeWidgetItem 核心属性

属性说明
text持有的文本
textAlignment文本对齐方式
icon持有的图表
font文本字体
hidden是否隐藏
disabled是否禁用
expand是否展开
sizeHint尺寸大小
selected是否选中

  

  QTreeWidgetItem 核心方法

方法说明
addChild (QTreeWidgetItem* child)新增子节点
childCount ()子节点的个数
child (int index)获取指定下标的子节点,返回 QTreeWidgetItem*
takeChild (int index)删除对应下标的子节点
removeChild (QTreeWidgetItem* child)删除对应的子节点
parent ()获取该元素的父节点

  

  1. 创建QTreeWidget树形控件。
    在这里插入图片描述
      

  2. 添加树形控件的层级元素。

在这里插入图片描述

            


http://www.ppmy.cn/devtools/128324.html

相关文章

ECharts饼图-饼图34,附视频讲解与代码下载

引言: 在数据可视化的世界里,ECharts凭借其丰富的图表类型和强大的配置能力,成为了众多开发者的首选。今天,我将带大家一起实现一个饼图图表,通过该图表我们可以直观地展示和分析数据。此外,我还将提供详…

vue video播放m3u8监控视频

很关键的问题 vite创建的项目不需要import ‘videojs-contrib-hls’ 导入就报错 直接添加如下代码即可 html5: {vhs: {overrideNative: true},nativeVideoTracks: false,nativeAudioTracks: false,nativeTextTracks: false} 下面是完整组件示例 <template><div>…

vscode使用pnpm报错

1、node环境配置没问题、使用npm没有问题&#xff0c;使用pnpm报错 解决办法&#xff1a;npm i -g pnpm 2、成功安装了pnpm ,vscode报错 以管理员身份打开window PowerShell

②PROFINET转ModbusTCP, EtherCAT/Ethernet/IP/Profinet/ModbusTCP协议互转工业串口网关

EtherCAT/Ethernet/IP/Profinet/ModbusTCP协议互转工业串口网关https://item.taobao.com/item.htm?ftt&id822721028899 协议转换通信网关 PROFINET 转 Modbus TCP &#xff08;接上一章&#xff09; 配置使用 与 PROFINET 主站进行组态说明 这里介绍与西门子 PLC 的…

CentOS7安装RabbitMQ-3.13.7、修改端口号

本文安装版本&#xff1a; Erlang&#xff1a;26.0 官网下载地址 Erlang RabbitMQ&#xff1a;3.13.7 官网下载地址 RabbitMQ RabbitMQ和Erlang对应关系查看&#xff1a;https://www.rabbitmq.com/which-erlang.html 注&#xff1a;安装erlang之前先安装下依赖文件&#xff0…

ParallelsDesktop20最新版本虚拟机 一键切换系统 游戏娱乐两不误

让工作生活更高效&#xff1a;Parallels Desktop 20最新版本虚拟机的神奇之处 大家好&#xff01;&#x1f44b; 今天我要跟大家安利一款让我工作效率飞升的神器——Parallels Desktop 20最新版本虚拟机。作为一个日常需要在不同操作系统间来回穿梭的人&#xff0c;这款软件简直…

Selenium自动化测试工具

一 .Selenium简介 是一个用于Web应用程序测试的工具 Selenium的核心功能之一是测试软件在不同浏览器和操作系统上的兼容性&#xff0c;确保软件功能与用户需求的一致性&#xff0c;提升用户体验。 自动化脚本生成与执行 Selenium支持自动录制用户操作并生成多种编程语言的测…

智能时代摩托车一键启动无钥匙进入感受科技前线

向智能化与高性能迈进,技术创新与绿色转型引领摩托车行业智能化出行。 摩托车一键启动无钥匙进入功能是一种先进的车辆控制系统&#xff0c;它允许驾驶员在不使用传统机械钥匙的情况下&#xff0c;通过智能感应技术自动解锁和启动摩托车。这种系统通常包括一个智能钥匙&#x…