【Qt 学习笔记】Qt常用控件 | 多元素控件 | List Widget的说明及介绍

简介: 【Qt 学习笔记】Qt常用控件 | 多元素控件 | List Widget的说明及介绍

Qt常用控件 | 多元素控件 | List Widget的说明及介绍

一、QListWidget介绍

1. 简介

QListWidget是Qt框架提供的一个用于显示列表的控件。它可以在窗口中显示一个可滚动的列表,并且每个列表项都可以是一个文本项、图像项或自定义项。


QListWidget可以用于显示一组文本项,用户可以选择列表中的一项或多项。 它还可以用于显示一组图像项,用户可以通过点击图像项进行选择或执行其他操作。用户还可以使用自定义项在列表中显示自定义的内容。


QListWidget提供了一些方便的方法和信号,可以用于添加、删除、修改和查找列表项。列表项可以通过索引或指定的text或data来获取和操作。

2. 核心属性

image.png

3. 核心方法

image.png

4. 核心信号

image.png

二、QListWidgetItem介绍

1. 简介

QListWidgetItem这个类表示 QListWidget 中的一个元素


QListWidgetItem是Qt框架中的一个类,用于在列表视图(QListView)中显示项目。它提供了一种简单的方式来显示和操作列表视图中的每个项目。


QListWidgetItem可以包含文本、图标、提示信息和状态标志等等。可以通过设置它的属性来设置项目的相关信息。


QListWidgetItem还提供了一些方法来设置和获取项目的各种属性,如文本、图标、提示信息、状态标志等。

2. 核心方法

image.png

三、QListWidget的使用(代码示例)

1. 创建一个ListWidget增删列表

  1. 在界面中创建一个ListWidget,一个LineEdit和两个PuttonButton按钮,如下图


2.编写widget.cpp,在构造函数中添加项目

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    //添加列表元素
    ui->listWidget->addItem("C++");
    ui->listWidget->addItem("Java");
    ui->listWidget->addItem("Python");
    //也可以通过以下方式添加
    //在QListWidgetItem中,可以设置字体属性,设置图标,文字大小等
    //ui->listWidget->addItem(new QListWidgetItem("C++"));
}
  1. 编写提交和删除按钮函数
void Widget::on_pushButton_Submit_clicked()
{
    //获取到输入框的内容
    const QString& text=ui->lineEdit->text();
    //将获取到的内容加到列表中
    ui->listWidget->addItem(text);
}

void Widget::on_pushButton_Delete_clicked()
{
    //先获取到到选中的行数
    int row = ui->listWidget->currentRow();
    //然后删除选出的行数
    if(row<0)
    {
        return;
    }
    //删除指定行的内容
    ui->listWidget->takeItem(row);
}

4.编写ListWidget槽函数

void Widget::on_listWidget_currentItemChanged(QListWidgetItem *current, QListWidgetItem *previous)
{
    if(current != nullptr)
    {
        qDebug()<<"当前选中:"<< current->text();
    }
    if(previous != nullptr)
    {
        qDebug()<<"之前选中:"<< previous->text();
    }
}

5.运行代码,可以新增元素, 选中元素, 删除元素


目录
打赏
0
2
3
0
70
分享
相关文章
|
7月前
【Qt 学习笔记】Qt常用控件 | 布局管理器 | 空白项Spacer
【Qt 学习笔记】Qt常用控件 | 布局管理器 | 空白项Spacer
346 2
|
7月前
【Qt 学习笔记】Qt常用控件 | 布局管理器 | 表单布局Form Layout
【Qt 学习笔记】Qt常用控件 | 布局管理器 | 表单布局Form Layout
242 2
|
7月前
【Qt 学习笔记】Qt常用控件 | 布局管理器 | 网格布局Grid Layout
【Qt 学习笔记】Qt常用控件 | 布局管理器 | 网格布局Grid Layout
858 2
MFC基本控件4-列表框控件List Box
MFC基本控件4-列表框控件List Box
java线程之List集合并发安全问题及解决方案
java线程之List集合并发安全问题及解决方案
1144 1
怎么在在 Java 中对List进行分区
本文介绍了如何将列表拆分为给定大小的子列表。尽管标准Java集合API未直接支持此功能,但Guava和Apache Commons Collections提供了相关API。
102 1
PolarDB产品使用问题之使用List或Range分区表时,Java代码是否需要进行改动
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
详解Java中集合的List接口实现的ArrayList方法 | Set接口实现的HashSet方法
详解Java中集合的List接口实现的ArrayList方法 | Set接口实现的HashSet方法
105 3