嵌入式 QT QListWidget 显示列表视图的小部件类

news2025/2/23 5:46:00

目录

1. 添加对象

2. 设置间距

3. 获取内容

4. 删除对象

5.更改对象内容


 

在Qt框架中,QListWidget是一个用于显示列表视图的小部件类。它提供了一种方便的方式来显示和管理项目列表。QListWidget可以显示文本、图像和其他自定义的项目项,并允许用户进行选择和交互操作。

QListWidget可以用于创建类似于文件浏览器、播放列表、菜单等的功能。它可以以列表形式显示项目,并支持多种操作,如添加、删除、移动、选择和编辑项目。

以下是QListWidget的一些主要特性和用法:

  1. 显示项目列表:QListWidget可以显示项目列表,每个项目可以包含文本、图像或其他自定义的小部件。

  2. 选择操作:用户可以使用鼠标或键盘选择列表中的项目。可以设置选择模式,例如单选、多选或扩展选择。

  3. 交互操作:QListWidget支持常见的交互操作,如双击、右击和拖放。你可以捕获这些交互事件,并根据需要执行相应的操作。

  4. 编辑操作:QListWidget可以允许用户编辑项目的文本内容。编辑模式可以手动启用或自动启动,以便用户可以对项目进行编辑。

  5. 信号与槽机制:QListWidget通过信号与槽机制提供了各种事件和操作的通知。你可以连接到这些信号,并根据需要执行自定义操作。

总之,QListWidget是一个灵活且易于使用的Qt小部件,用于在应用程序中显示和管理项目列表。它提供了丰富的功能和操作,可以满足各种列表显示和交互的需求。

QListWidget 是一个列表窗口 , 它可以存放客户自定义的元素。如;
QListWidget 里的元素是 QListWidgetItem, 主要由图标和文字构成 
例如:

 

QLabel *label = new QLabel;
 label->setFixedWidth(100);
 QListWidget *listWidget = new QListWidget;
 listWidget->addItem(new QListWidgetItem(QIcon(QObject::tr("images/china.png")),
QObject::tr("China")));
 listWidget->addItem(new QListWidgetItem(QIcon(QObject::tr("images/hk.png")),
QObject::tr("Hong Kong")));
 listWidget->addItem(new QListWidgetItem(QIcon(QObject::tr("images/macau.png")),
QObject::tr("Macau")));
 
 QHBoxLayout *mainlayout = new QHBoxLayout;
 mainlayout->addWidget(listWidget);
 mainlayout->addWidget(label);
 QObject::connect(listWidget, SIGNAL(currentTextChanged(QString)), label,
SLOT(setText(QString)));

 其他的功能使用:

1. 添加对象

QString listString = ui->lEditUserName->text() + "\n"+ui->lEditChipID->text();
QListWidgetItem *item = new QListWidgetItem(QIcon(":/images/images/user.png"),
listString);

ui-> listWidget->addItem(item);

2. 设置间距

ui->listWidget->setIconSize(QSize(50,50));

3. 获取内容

QString str = ui->listWidget->item(currentRow)->text(); //获取当前行的内容
 QStringList listStr = str.split('\n');
 currentUserName = listStr.at(0);
 currentChipID = listStr.at(1);
 ui->lEditUserName->setText(currentUserName);
 ui->lEditChipID->setText(currentChipID);

4. 删除对象

QListWidgetItem* item = ui->listWidget->takeItem(currentWidgetRow); //删除当前
行
delete item;
ui->listWidget->update(); //更新显示

5.更改对象内容

if(ui->listWidget->currentItem()!=Q_NULLPTR){
 QString listString = newUserName + "\n"+currentChipID;
 ui->listWidget->currentItem()->setText(listString);
}

完成!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/562076.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Parrot OS 5.3已经发布并可普遍下载

导读Parrot Security近日宣布,Parrot OS 5.3已经发布并可普遍下载,这是这个基于Debian的、面向红客和渗透测试者的、以安全为重点的发行版的最新稳定版本。 Parrot OS 5.3是Parrot OS 5 “Electro Ara “系列的第三部,在Parrot OS 5.2之后两个…

私有化部署即时通讯为什么更安全

即时通讯作为企业沟通工具,在企业的内部沟通和外部交流中发挥着越来越重要的作用。同时,企业即时通讯在提升企业内部效率的同时,也面临着巨大的安全威胁。 根据数据显示,全球有超过4亿人在使用 IM。而其中因用户隐私泄露导致的数据…

十一、数据仓库详细介绍(应用)

这是数据仓库详细介绍的最后一篇,后续还会在补充一些,把遗漏的或者没讲清楚的追加进来。 1. 前言 数据仓库是一种数据管理的方法论,理论概念很早就提出来了,而且各个行业都有广泛深入的应用。因此到目前为止该方法论的理论和实践体…

Taro小程序富文本解析4种方法

1. Taro组件rich-text 优点:使用极其方便,引用一下就行了。缺点:不支持视频,放弃!2. wxParse https://github.com/icindy/wxParse 优点:支持样式,视频缺点:进入页面图片会有由大变正常,太影响了吧。3. taro-parse https://taro-ext.jd.com/plugin/view/5e61f2acb33351…

【Netty】Netty 概述(一)

文章目录 前言一、Java原生API之痛二、Netty的优势2.1 非阻塞 I/O2.2 丰富的协议2.3 异步和事件驱动2.4 精心设计的API2.5 丰富的缓冲实现2.6 高效的网络传输 三、Netty 核心概念3.1 核心组件3.1.1 事件模型3.1.2 字节缓冲区3.1.3 通信API 3.2 传输服务3.2.1 NIO3.2.2 epoll3.2…

让数据背后的那些话创造价值 | 数据增长

从行业背景而言,流量红利逐渐消失,野蛮生长的互联网时代接近尾声。传统的烧钱模式、靠体力投放的形式日渐乏力。但是,企业总是要追求增长的。所以在行业大背景下,依靠技术和数据的力量寻求更科学、更高效的方法达成营销目标&#…

Windows系统数据结构——最小生成树、Prim算法和Kruskal算法

我是荔园微风,作为一名在IT界整整25年的老兵,今天总结一下Windows系统数据结构——最小生成树、Prim算法和Kruskal算法。 我在各在论坛看了很多相关帖子,发现一个简单的问题都被复杂化了。最小生成树、Prim算法和Kruskal算法真的没有大家想的…

【JavaSE】Java基础语法(五):数组详解

文章目录 🍸1.1 数组介绍🍸1.2 数组的动态初始化1.2.1 什么是动态初始化1.2.2 动态初始化格式🍸1.3 数组元素访问1.3.1 什么是索引1.3.2 访问数组元素格式1.3.3 示例代码 🍸1.4 内存分配1.4.1 内存概述1.4.2 java中的内存分配 &am…

Ubuntu crontab 遇到的sh脚本一些问题(手动执行可以,自动执行不行)

问题一: 问题描述: 在写一个脚本循环时候,出现“let:not found”,这是因为在ubuntu默认是指向bin/dash解释器的,dash是阉割版的bash,其功能远没有bash强大和丰富.并且dash不支持let和i等功能. 解决办法: 打开一个终端输入&#xf…

springboot基于Java的校园二手物品交易平台jspm9qw4i

本基于Java的校园二手物品交易平台采用Java语言和Jsp技术,框架采用SPRINGBOOT,搭配Mysql数据库,运行在Idea里。本系统针对校园二手商品的交易而开发,提供管理员、学生、学生二手三种角色的服务。总的功能包括商品的查询、商品的购…

基于html+css的图展示89

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…

【六袆 - Redis】Redis内存数据库;redis数据结构;redis文档

Redis 关于redis 官方文档: https://redis.io/docs/about/ https://redis.com/redis-enterprise/data-structures/ 关于redis Redis: 是一个开源(BSD 许可)内存数据结构存储,用作数据库、缓存、消息代理和流引擎。Redis提供数据结…

CNVD - 5000w通用产品的收集方法

本文转载于:https://mp.weixin.qq.com/s?__bizMzg5OTY2NjUxMw&mid2247507214&idx1&sn0e6df46ee930cb35ab0650867cef8af5&chksmc04d5a30f73ad3261a6fa6a8cb8c4ddc4ee8fac2a58f495c05030adc2d27e3ead65264f24f75&mpshare1&scene23&srcid…

MySQL业务并发减数量,数量未减

业务背景 最近在折腾老系统,折腾了好久,发现一个数据库问题,用户点赞数量,如果用户取消点赞情况下,正常情况10次取消数据库都返回成功,但其中有2次没有取消。 数据库场景 在MySQL中看下面一个场景。 业务…

jQuery操作练习-隔行变色

<!DOCTYPE HTML> <html> <head> <meta http-equiv"Content-Type" content"text/html; charsetUTF-8"> <title>jQuery操作练习-隔行变色</title> <script type"text/javascript&q…

越来越好玩,用ChatGPT+Python 做有声小说!

菜鸟学Python-第623篇原创 现在我们几百人的会员群已经玩的越来越高级了&#xff0c;利用chatgpt花色玩法&#xff01;有玩百度问一问每天早上6点多起来抢单的&#xff0c;有玩微信机器人帮人部署接单的&#xff0c;也有玩咸鱼去给大学生指导论文的&#xff01; 利用chatgpt4玩…

USB设备连接和枚举

https://space.bilibili.com/489340606/channel/collectiondetail?sid896957 以下图片来自于沁恒微电子蔡亮工程师的讲课&#xff0c;对USB开发入门很有好处。 1. USB主设备和从设备 2. USB设备按功能分类 3. USB功能设备内部架构 可以有多个配置&#xff0c;但同一个时间只…

华为OD机试真题 Java 实现【字母组合】【2023Q1 200分】

一、题目描述 每个数字对应多个字母&#xff0c;对应关系如下&#xff1a; 0&#xff1a;a,b,c 1&#xff1a;d,e,f 2&#xff1a;g,h,i 3&#xff1a;j,k,l 4&#xff1a;m,n,o 5&#xff1a;p,q,r 6&#xff1a;s,t 7&#xff1a;u,v 8&#xff1a;w,x 9&#xff1a;y, z …

PostGIS的10个最佳实践

PostGIS 是一个功能强大的开源空间数据库&#xff0c;可用于存储、查询和分析地理空间数据。 对于需要存储和分析大量地理空间数据的组织来说&#xff0c;这是一个流行的选择。 但是&#xff0c;正确使用 PostGIS 以充分利用它很重要。 在本文中&#xff0c;我们将讨论 10 个 …

Mit6.006-lecture09-Breadth-First-Search

一、新单元&#xff1a;图 Quiz 1包含lecture01到lecture08&#xff0c;关注数据结构和排序 今天开始新单元&#xff0c;lecture09-lecture14&#xff0c;关注图算法 二、图应用 图无处不在 任何网络系统都存在有向连接图 比如&#xff1a;路网、计算机网络、社交网络 任…