【QT5】QListWidget列表框的使用
Published on 2022-05-27 10:00 in 分类: Qt with 萧海~
分类: Qt

【QT5】QListWidget列表框的使用

    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);
    }
    1. 判断当前列表中含有的列表项的总数,添加弹窗及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));
    }
    }
    }```

    原文:https://blog.csdn.net/weixin_42258743/article/details/124029059

    posted @   萧海~  阅读(823)  评论(0编辑  收藏  举报
    相关博文:
    阅读排行:
    · winform 绘制太阳,地球,月球 运作规律
    · AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
    · 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
    · 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
    · 上周热点回顾(3.3-3.9)
    点击右上角即可分享
    微信分享提示
    电磁波切换