当前位置: 首页 > news >正文

Qt:13.多元素控件(QLinstWidget-用于显示项目列表的窗口部件、QTableWidget- 用于显示二维数据表)

目录

一、QLinstWidget-用于显示项目列表的窗口部件:

1.1QLinstWidget介绍:

1.2属性介绍:

1.3常用方法介绍:

 1.4信号介绍:

1.5实例演示:

二、QTableWidget- 用于显示二维数据表:

2.1QTableWidget介绍:

2.2常用方法介绍:

2.3 信号介绍:


一、QLinstWidget-用于显示项目列表的窗口部件:

1.1QLinstWidget介绍:

  • QListWidget提供了一个用于显示项目列表的窗口部件。
  • QListWidget 继承自 QListView,并且使用一个简单的接口来管理列表中的项。
  • 它适合于那些需要一个列表框,但又不想使用 QListView 和 QAbstractItemModel 的复杂接口的情况。

1.2属性介绍:

count
  • 返回列表中项目的数量。
  • count()
currentItem
  • 获取当前选中的项目。
  • currentItem() const
  • setCurrentItem(QListWidgetItem *item)
currentRow
  • 获取当前选中项目的行号。如果未选中返回-1。
  • currentRow() const
  • setCurrentRow(int row)
selectionMode
  • 设置选择模式,可以是单选、多选等。
  • selectionMode() const
  • setSelectionMode(QAbstractItemView::SelectionMode mode)
item
  • 获取指定行的项目。
  • item(int row) const
itemWidget
  • 获取项目关联的窗口小部件。
  • itemWidget(QListWidgetItem *item) const
  • setItemWidget(QListWidgetItem *item, QWidget *widget)
sortingEnabled
  • 设置是否启用项目排序。
  • isSortingEnabled() const
  • setSortingEnabled(bool enable)
dropIndicatorPosition
  • 设置或获取拖放操作中的指示位置。
  • dropIndicatorPosition() const

1.3常用方法介绍:

addItem
  • 向列表中添加一个项目。
  • void addItem(const QString &label)
  • void addItem(QListWidgetItem *item)
currentItem
  • 获取/设置当前选中的项目。
  • void currentItem()
  • setCurrentItem(QListWidgetItem *item)
insertItem
  • 在指定行插入一个项目。
  • void insertItem(int row, const QString &label)
  • void insertItem(int row, QListWidgetItem *item)
item
  • 获取指定行的项目。
  • item(int row) const
sortItems
  • 对列表中的项目进行排序。
  • void sortItems(Qt::SortOrder order = Qt::AscendingOrder)
clear
  • 移除列表中的所有项目。
  • clear();
takeItem
  • 从列表中移除指定行的项目并返回该项目。
  • QListWidgetItem* takeItem(int row)

 1.4信号介绍:

currentItemChanged当前选中项目发生变化时发出此信号。
itemActivated用户激活项目(例如通过双击或按 Enter 键)时发出此信号。
itemChanged项目内容发生变化时发出此信号。
itemDoubleClicked用户双击项目时发出此信号。
itemEntered鼠标指针进入项目时发出此信号。
itemClicked用户单击项目时发出此信号。
currentRowChanged当前选中的行发生变化时发出此信号。参数是新的当前选中行的行号。

1.5实例演示:

Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);
}Widget::~Widget()
{delete ui;
}//展示当前选中项,如果选中,显示当前高亮项
void Widget::on_listWidget_itemClicked(QListWidgetItem *item)
{if(item==nullptr)return;ui->label->setText("当前选中项:"+item->text());
}//添加项目,获取lineedit中的字段,添加到窗口作为新项目
void Widget::on_pushButton_clicked()
{const QString& str=ui->lineEdit->text();ui->listWidget->addItem(str);ui->lineEdit->clear();
}//删除项目,先获取选中项目的行号,然后通过行号删除项目
void Widget::on_pushButton_2_clicked()
{int num=ui->listWidget->currentRow();if(num<0)return;ui->listWidget->takeItem(num);}

 

二、QTableWidget- 用于显示二维数据表:

2.1QTableWidget介绍:

  • QTableWidget 是 Qt 提供的一个表格控件,用于显示二维数据表。
  • 它是 QTableView 的一个子类,提供了更高级的功能,允许用户直接在表格中添加、删除和编辑项。

2.2常用方法介绍:

item
  • 获取指定单元格的项目。
  • QTableWidgetItem* item(int row, int column) const
setItem
  • 设置指定单元格的项目。
  • void setItem(int row, int column, QTableWidgetItem *item)
currentItem
  • 获取当前选中的项目。
  • QTableWidgetItem* currentItem() const
currentRow
  • 获取当前选中项目的行号。
  • int currentRow() const
currentColumn
  • 获取当前选中项目的列号。
  • int currentColumn() const
row
  • 获取某个项所在的行。
  • int row(const QTableWidgetItem *item) const
column
  • 获取某个 QTableWidgetItem 所在的列。
  • int column(const QTableWidgetItem *item) const
rowCount
  • 获取表格的行数。
  • int rowCount() const
columnCount
  • 获取表格的列数。
  • int columnCount() const
insertRow
  • 在指定位置插入一行。
  • void insertRow(int row)

insertColumn

  • 在指定位置插入一列。
  • int column(const QTableWidgetItem *item) const
removeRow
  • 移除指定行。
  • void removeRow(int row)
removeColumn
  • 移除指定列。
  • void removeColumn(int column)
setHorizontalHeaderItem
  • 设置水平表头的单元格项目。
  • void setHorizontalHeaderItem(int column, QTableWidgetItem *item)
setVerticalHeaderItem
  • 设置垂直表头的单元格项目。
  • void setVerticalHeaderItem(int row, QTableWidgetItem *item)

2.3 信号介绍:

cellClicked(int row, int column)
  • 当用户单击单元格时触发。
  • row:被单击的单元格的行号。
  • column:被单击的单元格的列号。
cellDoubleClicked(int row, int column)
  • 当用户双击单元格时触发。
  • row:被双击的单元格的行号。
  • column:被双击的单元格的列号。
cellEntered(int row, int column)
  • 当鼠标进入单元格时触发。
  • row:鼠标进入的单元格的行号。
  • column:鼠标进入的单元格的列号。
currentCellChanged(int currentRow, int currentColumn, int previousRow, int previousColumn)
  • 当当前选中的单元格发生变化时触发。
  • currentRow:当前选中的单元格的行号。
  • currentColumn:当前选中的单元格的列号。
  • previousRow:之前选中的单元格的行号。
  • previousColumn:之前选中的单元格的列号。

相关文章:

Qt:13.多元素控件(QLinstWidget-用于显示项目列表的窗口部件、QTableWidget- 用于显示二维数据表)

目录 一、QLinstWidget-用于显示项目列表的窗口部件&#xff1a; 1.1QLinstWidget介绍&#xff1a; 1.2属性介绍&#xff1a; 1.3常用方法介绍&#xff1a; 1.4信号介绍&#xff1a; 1.5实例演示&#xff1a; 二、QTableWidget- 用于显示二维数据表&#xff1a; 2.1QTabl…...

恢复出厂设置手机变成砖

上周&#xff0c;许多Google Pixel 6&#xff08;6、6a、6 Pro&#xff09;手机用户在恢复出厂设置后都面临着设备冻结的问题。 用户说他们在下载过程中遇到了丢失 tune2fs 文件的错误 。 这会导致屏幕显示以下消息&#xff1a;“Android 系统无法启动。您的数据可能会被损坏…...

解决IntelliJ IDEA中克隆GitHub项目不显示目录结构的问题

前言 当您从GitHub等代码托管平台克隆项目到IntelliJ IDEA&#xff0c;却遇到项目目录结构未能正确加载的情况时&#xff0c;不必太过困扰&#xff0c;本文将为您提供一系列解决方案&#xff0c;帮助您快速找回丢失的目录视图。 1. 调整Project View设置 操作步骤&#xff1…...

Git错误分析

错误案例1&#xff1a; 原因&#xff1a;TortoiseGit多次安装导致&#xff0c;会记录首次安装路径&#xff0c;若安装路径改变&#xff0c;需要配置最后安装的路径。...

pom.xml中重要标签介绍

在 Maven 项目中&#xff0c;pom.xml 文件是项目对象模型&#xff08;POM&#xff09;的配置文件&#xff0c;它定义了项目的依赖关系、插件、构建配置等。以下是 pom.xml 文件中一些重要的标签及其作用&#xff1a; <modelVersion>&#xff1a; 定义 POM 模型的版本。当…...

大模型日报 2024-07-11

大模型日报 2024-07-11 大模型资讯 CVPR世界第二仅次Nature&#xff01;谷歌2024学术指标出炉&#xff0c;NeurIPS、ICLR跻身前十 谷歌2024学术指标公布&#xff0c;CVPR位居第二&#xff0c;超越Science仅次于Nature。CVPR、NeurIPS、ICLR三大顶会跻身TOP 10。 CVPR成全球第二…...

Redis基础教程(十六):Redis Stream

&#x1f49d;&#x1f49d;&#x1f49d;首先&#xff0c;欢迎各位来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里不仅可以有所收获&#xff0c;同时也能感受到一份轻松欢乐的氛围&#xff0c;祝你生活愉快&#xff01; &#x1f49d;&#x1f49…...

机器学习筑基篇,容器调用显卡计算资源,Ubuntu 24.04 快速安装 NVIDIA Container Toolkit!...

[ 知识是人生的灯塔,只有不断学习,才能照亮前行的道路 ] Ubuntu 24.04 安装 NVIDIA Container Toolkit 什么是 NVIDIA Container Toolkit? 描述:NVIDIA Container Toolkit(容器工具包)使用户能够构建和运行 GPU 加速的容器,该工具包括一个容器运行时库和实用程序,用于自动…...

全网第一个java链接阿里云redis并可操作

添加依赖 redis.clients jedis 5.1.2 然后通过 JedisPool pool new JedisPool(host3, 6379); Jedis jedis pool.getResource(); jedis.auth(“username”,“password”); jedis.set(“ab”,“ab”); System.out.println(jedis.get(“ab”)); 即可链接成功&#xff0c;成功…...

Mysql ORDER BY是否走索引?

在 MySQL 中&#xff0c;ORDER BY 子句是否使用索引取决于多种因素&#xff0c;包括查询的具体情况、索引的类型和结构、查询中的其他条件等。 使用索引的情况 单列索引和 ORDER BY&#xff1a; 当 ORDER BY 子句中的列有单列索引时&#xff0c;MySQL 可以利用该索引来加速排序…...

图纸文档管理新篇章:陕西航沣与三品软件合作 优化研发流程

近日&#xff0c;陕西航沣新材料有限公司与三品软件正式达成合作协议&#xff0c;共同打造高效、智能的图纸文档管理平台。此次合作旨在赋能陕西航沣在高性能碳纤维增强纸基摩擦材料领域的创新与发展&#xff0c;提升企业的核心竞争力。 客户简介 陕西航沣新材料有限公司&…...

链式队列的实现

//1:创建循环队列 //2:判空 //4:入队 //5:出队 //6:遍历 //7:队列长度 //8:销毁 main.c #include"loop.h" int main(int argc, const char *argv[]) {loop_p Lloop_create();//创建loop_empty(L);//判空loop_length(L);//长度loop_input(L,10);//入队loop_input(L,…...

深入剖析3D企业云展厅的价值,多维展示和精准营销的创新结合

一、3D企业云展厅的多维展示优势 1、全方位展示企业展品 3D企业云展厅通过3D建模技术为企业提供了全方位的展品展示平台。相比于传统平面的图片或视频&#xff0c;3D展厅能够让用户以任意角度观看展品&#xff0c;仿佛置身于真实展厅中。这种全方位展示不仅能够增加展品的真实…...

前台线程和后台线程(了解篇)

在多线程编程中&#xff0c;理解线程的不同类型对于编写高效、稳定的程序至关重要。特别地&#xff0c;前台线程&#xff08;Foreground Threads&#xff09;与后台线程&#xff08;Background Threads&#xff09;在行为上有着根本的区别&#xff0c;这些区别直接影响到程序的…...

最强文本编辑器 VIM 指令大全

Vim 是从 Vi 编辑器发展出来的一款极其强大的文本编辑器&#xff0c;它保留了 Vi 编辑器的所有功能&#xff0c;并添加了许多新特性。Vim 具有代码补全、语法高亮、错误跳转、批量化处理等编辑功能&#xff0c;还支持异常丰富的插件扩展&#xff0c;且整个编辑全程可通过键盘完…...

卤味江湖中,周黑鸭究竟该抓住什么赛点?

近年来&#xff0c;卤味江湖的决斗从未停止。 随着休闲卤味、佐餐卤味等细分赛道逐渐形成&#xff0c;“卤味三巨头”&#xff08;周黑鸭、绝味食品、煌上煌&#xff09;的牌桌上有了更多新对手&#xff0c;赛道变挤了&#xff0c;“周黑鸭们”也到了转型关键期。 这个夏天&a…...

2024年西安铁一中集训DAY1---- 杂题选讲

文章目录 牛客练习赛125 E 联谊活动&#xff08;枚举&#xff0c;分讨&#xff09;牛客练习赛125 F 玻璃弹珠&#xff08;类莫队&#xff0c;离线询问&#xff0c;数据结构&#xff09;2024ccpc长春邀请赛 D Parallel Lines&#xff08;随机化&#xff09;2024ccpc长春邀请赛 E…...

Python爬虫:BeautifulSoup的基本使用方法!

1.简介 Beautiful Soup提供一些简单的、python式的函数用来处理导航、搜索、修改分析“标签树”等功能。它是一个工具箱&#xff0c;通过解析文档为用户提供需要抓取的数据&#xff0c;因为简单&#xff0c;所以不需要多少代码就可以写出一个完整的应用程序。 Beautiful Soup…...

【自监督学习】DINO in ICCV 2021

一、引言 论文&#xff1a; DINO: Emerging Properties in Self-Supervised Vision Transformers 作者&#xff1a; Facebook AI Research 代码&#xff1a; DINO 特点&#xff1a; 对于一张图片&#xff0c;该方法首先进行全局和局部的裁剪与增强并分别送入教师和学生网络&am…...

使用simulink进行esp32开发,进行串口收发数据需要注意的地方,为什么收发不成功

1&#xff0c;主要是因为simulink里的配置文件配置的波特率和串口接受软件配置的波特不一致导致的 2&#xff0c;主要有以下三个界面 a.配置文件 b.模型 模型直接选择使用的是那组串口就行了&#xff0c;一般情况下我们收发使用同一组就可以&#xff0c;这样收发模块填写的端…...

(十)学生端搭建

本次旨在将之前的已完成的部分功能进行拼装到学生端&#xff0c;同时完善学生端的构建。本次工作主要包括&#xff1a; 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...

《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)

CSI-2 协议详细解析 (一&#xff09; 1. CSI-2层定义&#xff08;CSI-2 Layer Definitions&#xff09; 分层结构 &#xff1a;CSI-2协议分为6层&#xff1a; 物理层&#xff08;PHY Layer&#xff09; &#xff1a; 定义电气特性、时钟机制和传输介质&#xff08;导线&#…...

解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八

现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet&#xff0c;点击确认后如下提示 最终上报fail 解决方法 内核升级导致&#xff0c;需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...

从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路

进入2025年以来&#xff0c;尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断&#xff0c;但全球市场热度依然高涨&#xff0c;入局者持续增加。 以国内市场为例&#xff0c;天眼查专业版数据显示&#xff0c;截至5月底&#xff0c;我国现存在业、存续状态的机器人相关企…...

Cinnamon修改面板小工具图标

Cinnamon开始菜单-CSDN博客 设置模块都是做好的&#xff0c;比GNOME简单得多&#xff01; 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...

JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案

JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停​​ 1. ​​安全点(Safepoint)阻塞​​ ​​现象​​:JVM暂停但无GC日志,日志显示No GCs detected。​​原因​​:JVM等待所有线程进入安全点(如…...

网站指纹识别

网站指纹识别 网站的最基本组成&#xff1a;服务器&#xff08;操作系统&#xff09;、中间件&#xff08;web容器&#xff09;、脚本语言、数据厍 为什么要了解这些&#xff1f;举个例子&#xff1a;发现了一个文件读取漏洞&#xff0c;我们需要读/etc/passwd&#xff0c;如…...

Mysql中select查询语句的执行过程

目录 1、介绍 1.1、组件介绍 1.2、Sql执行顺序 2、执行流程 2.1. 连接与认证 2.2. 查询缓存 2.3. 语法解析&#xff08;Parser&#xff09; 2.4、执行sql 1. 预处理&#xff08;Preprocessor&#xff09; 2. 查询优化器&#xff08;Optimizer&#xff09; 3. 执行器…...

PAN/FPN

import torch import torch.nn as nn import torch.nn.functional as F import mathclass LowResQueryHighResKVAttention(nn.Module):"""方案 1: 低分辨率特征 (Query) 查询高分辨率特征 (Key, Value).输出分辨率与低分辨率输入相同。"""def __…...

20个超级好用的 CSS 动画库

分享 20 个最佳 CSS 动画库。 它们中的大多数将生成纯 CSS 代码&#xff0c;而不需要任何外部库。 1.Animate.css 一个开箱即用型的跨浏览器动画库&#xff0c;可供你在项目中使用。 2.Magic Animations CSS3 一组简单的动画&#xff0c;可以包含在你的网页或应用项目中。 3.An…...