Qt学习之QListWidget删除Item

Qt学习之QListWidget删除Item将QListWidgetItem从QListWidget列表中删除有两种方法可以做到,但也要根据自己的需要进行选择。第一种是QListWidgetItem*takeItem(introw);使用此方法需要知道删除的是第几个Item,并且返回删除的Item指针。第二种是inlinevoidremoveItemWidget(QListWidgetItem*item);需要知道删除

大家好,又见面了,我是你们的朋友全栈君。

                      欢迎关注公众号可以查看更多完整文章

Qt学习之QListWidget删除Item

将QListWidgetItem从QListWidget列表中删除有两种方法可以做到,但也要根据自己的需要进行选择。

第一种是

QListWidgetItem *takeItem(int row);

使用此方法需要知道删除的是第几个Item,并且返回删除的Item指针。

第二种是

inline void removeItemWidget(QListWidgetItem *item);

需要知道删除的Item的对象。

代码测试:先添加5个Item,然后删除第三个(索引为2,从0开始),再使用第二种方式删除最后一个。注意:上面删除了一个Item后,删除的Item后面所有Item的索引都会发生变化。

#ifndef LISTWIDGET_H
#define LISTWIDGET_H

#include <QtWidgets/QListWidget>

class ListWidget : public QListWidget
{
	Q_OBJECT

public:
	ListWidget(QWidget *parent = 0);
	~ListWidget();

private:

};

#endif // LISTWIDGET_H

#include "listwidget.h"

ListWidget::ListWidget(QWidget *parent)
	: QListWidget(parent)
{
	//添加Item
	QStringList strList = { "Item1", "Item2", "Item3", "Item4", "Item5" };
	this->addItems(strList);
	//Qt中QListWidget中删除item的方法1
	this->takeItem(2);
	//Qt中QListWidget中删除item的方法2
	QListWidgetItem *pItem = this->item(3);//注意:上面删除了一个Item后,删除的Item后面所有Item的index都会发生变化。
	this->removeItemWidget(pItem);
	delete pItem;
}

ListWidget::~ListWidget()
{

}
#include "listwidget.h"
#include <QtWidgets/QApplication>

int main(int argc, char *argv[])
{
	QApplication a(argc, argv);
	ListWidget w;
	w.show();
	return a.exec();
}

本文地址:Qt学习之QListWidget删除Item_GreenArrowMan-CSDN博客-CSDN博客

交流QQ:1245178753

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/134793.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月3日 上午6:40
下一篇 2022年5月3日 上午6:40


相关推荐

  • 关于公网IP、内网IP和NAT转换「建议收藏」

    关于公网IP、内网IP和NAT转换「建议收藏」1、每台电脑都必须要一个公网IP吗?答案:不是。  我们都知道,IPv4中的IP地址的数量是有限的(所以现在都在搞IPv6),每次把一部分地址分配出去,那么就意味着能够用来分配的IP地址就更少了,而且随着现在手机,电脑等的快速发展,如果每个手机或者电脑都要求一个IP地址,那么显然IP地址是不够用的。  为了解决这个问题,可以采取这样的策略:例如对于一个公司来说,每个公司都会有一个属于自…

    2022年6月4日
    49
  • html遍历数组,JS数组遍历的几种方式

    html遍历数组,JS数组遍历的几种方式JS 数组遍历 基本就是 for forin foreach forof map 等等一些方法 以下介绍几种本文分析用到的数组遍历方式以及进行性能分析对比第一种 普通 for 循环代码如下 for j 0 j

    2026年3月26日
    3
  • srvctl start_局部视图的配置规定是

    srvctl start_局部视图的配置规定是SRVCTL概述SRVCTL是ORACLERAC集群配置管理的工具,可以管理Database、Instance、ASM、Service、Listener和NodeApplication,NodeApplication包括GSD,ONS,VIP。srvctl的命令格式为srvctl<command><target>[options]srvctlUs…

    2025年10月31日
    4
  • 如何利用js生成二维码_前端生成二维码

    如何利用js生成二维码_前端生成二维码问题来源最近在做一个项目,有这么个需求,通过生成二维码来实现网页的分享。问题分析脑海的第一反应,当然是用js来实现,自己手写?当然不是。解决方案使用QRCode.js。QRCode.js是一个用于生成二维码的JavaScript库。主要是通过获取DOM的标签,再通过HTML5Canvas绘制而成,不依赖任何库。QRCode.js:使用JavaScript生成二维码代码编写<!DOCTYPEhtml><htmllang=”en.

    2022年10月18日
    5
  • layoutSubviews触发问题

    layoutSubviews触发问题layoutSubviews在以下情况下会被调用: 1、init初始化不会触发layoutSubviews 2、addSubview会触发layoutSubviews 3、设置view的Frame会触发layoutSubviews,当然前提是frame的值设置前后发生了变化 4、滚动一个UIScrollView会触发layoutSubviews 5、旋转Screen会触发父UIView上的layo…

    2022年7月25日
    19
  • netstat 命令详解

    netstat 命令详解netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。语法选项netstat[选项]-a或–all:显示所有连线中的Socket;-A&amp;amp;amp;amp;amp;lt;网络类型&amp;amp;amp;amp;amp;gt;或–&amp;amp;amp;amp;amp;lt;网络类型&amp;amp;amp;amp;amp;gt;:列出该网络类型连线中的相关地址;

    2022年5月7日
    56

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号