【QT5】QListWidget列表框的使用

本文介绍了Qt编程中QListWidget的使用,包括如何创建和操作列表,如删除重复项、添加未重复项。同时,展示了在列表为空时如何通过弹窗提示用户并动态添加列表项。通过实例代码详细阐述了QListWidget的遍历和管理技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



        QListWidget类可以实现基于列表的方式展示数据。

QListWidget列表框的创建

        QListWidget 是 Qt 所提供的控件类,用于创建列表,该类的继承关系如下:

QListWidget -> QListView -> QAbstractItemView -> QAbstractScrollArea -> QFrame -> QWidget

        其中,QListView 也可用于创建列表,其与QList Widget的不同之处在于,QListView功能更加强大,可以制作复杂的列表,而QListWidget只能穿件结构简单的列表

QListWidget列表框的使用

       创建好的QListWidget类对象,是一个空列表,我们可以利用QListWidget类及父类提供的属性、方法等,对新建列表执行各类所需操作。

1. QListWidget列表框遍历使用,增加、删减列表项

(1)遍历QListWidget列表框所有item,并删除重复item

//删除重复列表项
void listWidget::deleteRepetitionItem(QString str)
{
    QString list;
    int Row=0;
    while((ui->listWidget_cali->count()) > Row)
    {
        list=ui->listWidget_cali->item(Row)->text();
        if(str==list)
        {
            qDebug()<<"删除成功";
            ui->listWidget_cali->takeItem(Row);
        }
        Row++;
    }
}

(2)遍历QListWidget列表框所有item,增加未重复item

//增加未重复列表项
void listWidget::add_unRepetitionItem(QString str)
{
    QString list;
    int Row = 0;
    while((ui->listWidget_cali->count()) > Row )
    {
        list=ui->listWidget_cali->item(Row)->text();
        if(str==list)
            return;
        Row++;
    }
    ui->listWidget_cali->addItem(str);
}

2. 判断当前列表中含有的列表项的总数,添加弹窗及item显示

//如果当前列表控件中含有列表项数量为空
if (ui.listWidget_calib->count() <= 0)
		{
           //添加一个弹窗,默认未点击Yes或No选项时,执行了Yes操作
			QMessageBox::StandardButton result = QMessageBox::information(NULL, u8"提示", u8"是否重新创建模板?", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);
			//弹窗选项选择Yes
            if (result == QMessageBox::Yes)
				return;
			else
			{
				//在列表内添加数字显示
                int m_count = 6;
				ui.listWidget_calib->clear();
				for (int i = 0; i < m_count; i++)
				{
					ui.listWidget_calib->addItem(QString::number(i));
				}
			}
		}```

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

&Mr.Gong

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值