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

2023-10-27

目录

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);
}

完成!!!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

  • C 中的变量定义是什么意思[重复]

    这个问题在这里已经有答案了 你们能告诉我 这在 C 中意味着什么吗 define Privileged Data Privileged Data static int dVariable 编译器对变量进行寻址有特殊意义吗 这只是一个宏Pri
  • 扫描文本文件时如何跳过行?

    我想扫描一个文件并在阅读之前跳过一行文本 我试过 fscanf pointer n struct test i j 但这个语法只是从第一行开始 我可以使用 scanf 使用以下指令跳过行 fscanf config file n n 格式字
  • C# 中的协变和逆变

    首先我要说的是 我是一名正在学习 C 编程的 Java 开发人员 因此 我会将我所知道的与我正在学习的进行比较 我已经使用 C 泛型几个小时了 我已经能够在 C 中重现我在 Java 中知道的相同内容 除了几个使用协变和逆变的示例 我正在读
  • 如何为 Windows 安装开源 Qt 库 5 二进制版本

    这个问题具体是关于Qt libraries 5 0 0 for Windows VS 2010 406 MB at http qt project org downloads http qt project org downloads 但我
  • 使用不带参数的 Split() 时,默认分隔符是什么?

    所以我看了看String Split 今天 C 中的方法 我意识到你也可以向它传递零参数 这是我从未考虑过的 使用时默认的分隔符是什么Split 没有任何参数 如果没有值 则为空白 来源自here https msdn microsoft
  • 通过单个 GPIO 引脚转储闪存

    我正在使用 Infineon 的 XMC4500 Relax Kit 并尝试通过单个 GPIO 引脚提取固件 我非常天真的想法是通过 GPIO 引脚一次转储一位 然后用逻辑分析仪以某种方式 嗅探 数据 伪代码 while word by w
  • 关闭 XDOCUMENT 的实例

    我收到这个错误 该进程无法访问文件 C test Person xml 因为它是 被另一个进程使用 IOException 未处理 保存文件内容后如何关闭 xml 文件的实例 using System using System Collec
  • 如何使用汇编获取BIOS时间?

    我正在从头开始实现一个小型操作系统 用于教育目的 现在 我想使用汇编来获取 BIOS 时间 我对此进行了很多搜索 但找不到任何代码示例来执行此操作 如果有人可以提供任何参考或代码示例或与此相关的任何内容 我将非常感激 See 时钟中断 1a
  • 在 GCC 和 Clang 下,使用 lambda 的简单 RAII 包装器的复制初始化意外失败

    我在创建一个简单的 RAII 包装器时遇到了一个意想不到的问题 更不用说下面代码的逻辑不完整性了 复制构造函数和赋值运算符未删除等 这意味着是一个SSCCE 令我印象深刻的是复制初始化我的包装器与临时 lambda 的结果会导致编译错误 而
  • 将 C# 反射代码移植到 Metro-Ui

    我正在尝试移植使用反射的现有 C 类 通用工厂 但我无法编译这段代码 Type types Assembly GetAssembly typeof TProduct GetTypes foreach Type type in types i
  • 如何使用泛型类型的 DataContractSerializer 编写自定义序列化器?

    我想编写一个自定义序列化器 用于将会话状态存储到Azure 缓存 预览版 这意味着这个自定义序列化器必须实现IDataCacheObjectSerializer 如果我错了 请告诉我 我需要编写这个自定义序列化程序的原因是我需要序列化一些包
  • c# 如何生成锦标赛括号 HTML 表

    所以我已经被这个问题困扰了三个星期 但我一生都无法弄清楚 我想做的是使用表格获得这种输出 演示 http www esl world net masters season6 hanover sc2 playoffs rankings htt
  • 从包含大量文件的目录中检索文件

    我的目录包含近 14 000 000 个 wav 格式的音频样本 所有普通存储 没有子目录 我想循环浏览文件 但是当我使用DirectoryInfo GetFiles 在该文件夹上 整个应用程序冻结了几分钟 可以用另一种方式完成吗 也许读取
  • `cosf`、`sinf` 等不在 `std` 中 [重复]

    这个问题在这里已经有答案了 根据这里的讨论 我有报告了一个错误 https bugs launchpad net ubuntu source gcc 8 bug 1831385给 Ubuntu 开发者 编译以下示例 C 程序时 includ
  • 如何在 VS Code 中为 CMake 项目设置 C/C++ IntelliSense?

    我正在尝试使用 libTooling 编写一个工具 我对其进行了设置 以便它可以使用 LLVM 文档中的示例进行编译 然而 C C IntelliSense 似乎不适用于 CMake 项目 我的工具位于
  • 无法通过 LINQ to Entities 使用某些功能?

    我正在尝试使用 LINQ 查询在项目上实现搜索功能 由于数据有时包含带有重音符号和其他符号的字符 因此我创建了一种方法来删除这些字符以进行搜索 这是我的代码 var addresses from a in db Addresses join
  • 微软语音识别速度

    我正在使用微软的语音识别器开发一个小型练习应用程序 对于我正在做的事情来说 我似乎无法让它足够快地识别单个单词 我希望能够正常说话 系统将从我所说的内容中抓取 关键字 并生成一个字符串 目前我正在使用 5 个单词的自定义语法 红 蓝 黄 绿
  • 创建带有部分的选项卡式侧边栏 WPF

    我正在尝试创建一个带有部分的选项卡式侧边栏 如 WPF 中的以下内容 我考虑过几种方法 但是有没有更简单 更优雅的方法呢 方法一 列表框 Using a ListBox并将 SelectedItem 绑定到右侧内容控件所绑定的值 为了区分标
  • 使用剪贴板 SetText 换行

    如何使用 SetText 方法添加换行符 I tried Clipboard SetText eee n xxxx 但当我将剪贴板数据粘贴到记事本中时 它没有给我预期的结果 预期结果 eee xxxx 我怎样才能做到这一点 Windows
  • 如何从函数返回矩阵(二维数组)? (C)

    我创建了一个生成宾果板的函数 我想返回宾果板 正如我没想到的那样 它不起作用 这是函数 int generateBoard int board N M i j fillNum Boolean exists True initilize se

随机推荐

  • UnityVR--机械臂场景5-记录角度自动旋转

    机械臂已经能够在示教模式下单步旋转了 下一步 我们可以将每个关节旋转的角度记录下来 让机械臂自动旋转到指定位置 1 在UI画布上增加两个按钮 recordButton和AutoButton 一个用来记录每个节点旋转的角度 另一个让机械臂自动
  • 【算法修炼】优先队列

    优先队列 一 最后一块石头的重量 简单 二 数组中两元素的最大乘积 简单 三 根据字符出现频率排序 中等 四 找到和最大的长度为k的子序列 简单 优先队列 也称为堆 Heap 它可以在保证队列的结构下 对队列的内部元素进行排序 可以按照某个
  • Windows上通过CMake编译COLMAP源码操作步骤

    COLMAP源码 https github com colmap colmap 最新的稳定版本位于master分支 最新的开发版本位于dev分支 这里使用master分支进行编译 commit id为1555ff0 官方推荐使用vs2019
  • 高速计数器学习

    S7 1200 CPU 提供了最多 6 个 1214C 高速计数器 其独立于 CPU 的扫描周期进行计数 可测量的单相脉冲频率最高为 100KHz 双相或 A B 相最高为 30KHz 除用来计数外还可用来进行频率测量 高速计数器可用于连接
  • LeetCode刷题复习

    内容参考CyC大佬的LeetCode复习指南 算法思想复习 在考虑更优解时 先从数据状况入手 一般C 1s可以运行 1 0 7 1 0 8 10 7 10 8 107 108次 看有何特点可以利用 如有序 回文 重复 推公式等 1 1双指针
  • spring boot 如何配置Logback

    在 Spring Boot 项目中 Logback 是默认的日志框架 要配置 Logback 你需要创建一个名为 logback spring xml 的配置文件并将其放在项目的 src main resources 目录下 以下是一个详细
  • Unity设置物体旋转角度误区

    小白欢迎评论 共同探讨 共同进步 第一篇Unity的博文 这篇很短 接下来会陆续更新笔记本上之前记得坑 在这里有一个小误区 一般新手都非常容易出的错误 设置物体位置我们都是给transform position赋值 那么问题来了 设置物体的
  • ubuntu 12.04新安装好后需要进行的包升级和清理工作

    根据这么多次的操作经验 我发现 ubuntu系统在新安装好后需要进行一些包的升级和清理工作 不然的话 后续安装各种软件都不顺畅 会出现各种各样的问题 需要进行的包升级和清理工作其实很简单 只需要执行以下两条命令即可 apt get f in
  • 视觉slam g2o 编译出现 Cmake Error:By not providing “FindG2O.cmake““G2OConfig.cmake“ in CMAKE_MODULE_PATH错误

    第一步 这时需要在cmakelist文件中更改几行代码 代码如下 将LIST APPEND CMAKE MODULE PATH PROJECT SOURCE DIR cmake list APPEND CMAKE MODULE PATH X
  • Datawhale 李宏毅机器学习 Task2

    一 回归的定义和举例 定义 Regression 就是找到一个函数 function 通过输入特征 x 输出一个数值 Scalar 举例 股市预测 输入 过去10年股票的变动 新闻咨询 公司并购咨询等 输出 预测明天股市的平均值 自动驾驶
  • 【牛客网】BC146 添加逗号

    一 题目描述 牛客网题目链接 添加逗号 牛客题霸 牛客网 描述 对于一个较大的整数 N 1 lt N lt 2 000 000 000 比如 980364535 我们常常需要一位一位数这个数字是几位数 但是如果在这 个数字每三位加一个逗号
  • 在区块链里打模组化新概念,ALL要彻底实现技术融合并不容易!

    点击上方 蓝色字 可关注我们 编辑 铅笔盒 在今年的达沃斯论坛上 区块链与AI 3D打印等技术一起被列为第四次科技革命的重要技术 有人质疑加密货币 但几乎没有人否认区块链 可以预见接下来的一段时间所有焦点都将聚集在这个行业 区块链技术并不成
  • lua基础——基本语法

    类型 lua是动态类型语言 即变量的类型可以变 通过type可以测试给定变量的类型 下面是例子 python view plain copy print type helloworld
  • OLED拼接屏,有这5大优势,让其在会议商业及影院中常用

    OLED拼接屏是一种高端的显示屏 它由多个OLED屏幕拼接而成 可以实现更大尺寸的显示效果 在北京 OLED拼接屏已经被广泛应用于商业展示 会议室 电影院等场所 成为了展示和传播信息的重要工具 OLED拼接屏的优势 在于其高清晰度 高亮度
  • pandoc markdown 转 word

    安装 https www pandoc org installing html pandoc f markdown t html test md pandoc f html t docx o output docx
  • 软件设计师---下午题2

    下午题2 实体 弱实体 子实体 属性 复合属性 主键属性 联系 两个实体之间的联系 三个实体之间的联系 问题1 问题2 关系模式和主外键 一对一联系转换 一对多联系转换 多对多联系转换 三个实体的联系转换 实体和子实体的转换关系模式 实体
  • 159_模型_Power BI 地理分析之形状地图

    159 模型 Power BI 地理分析之形状地图 声明以下地图元素仅供学习交流所用 如需地图公开使用请提前做好报审工作 一 背景 当企业的体量达到一定体量的时候 保持稳定的增长是非常重要的事情 本案例展示如何用 Power BI 的形状地
  • GO语言入门学习(超详细的教程)-01

    GO入门教程 既然学一门语言首先我们就是要了解这个语言可以干什么 有什么作用 其优势在哪 喜欢自己看资料的同学我推荐这个网站 Go 语言结构 菜鸟教程 runoob com 写的特别详细 下面是我自己对这个语言的一些理解和想法 其中内容也基
  • JS 树形数据处理

    树形结构数据 let arr platformId 461417688549658625 platformName 蘑菇小姐的测试平台 roles roleId 968589 roleName 平台管理员 platformId 419419
  • 嵌入式 QT QListWidget 显示列表视图的小部件类

    目录 1 添加对象 2 设置间距 3 获取内容 4 删除对象 5 更改对象内容 在Qt框架中 QListWidget是一个用于显示列表视图的小部件类 它提供了一种方便的方式来显示和管理项目列表 QListWidget可以显示文本 图像和其他