【Qt快速入门(七)】- QListWidget列表框的使用

Qt快速入门(七)- QListWidget列表框的使用

QListWidget列表框的使用

QListWidget是Qt框架中的一个用于显示和管理列表项的控件。它提供了方便的接口来添加、删除和操作列表中的项,并且支持多选、拖放、排序等高级功能。本文将详细介绍QListWidget的使用,包括其基本用法、项管理、信号与槽、样式设置、扩展功能以及在Qt Designer中的使用。

QListWidget的基本用法

创建和添加项
QListWidget可以通过代码动态创建和添加项。以下是一个简单的示例,展示如何创建QListWidget并向其中添加项:

#include <QApplication>
#include <QListWidget>
#include <QVBoxLayout>
#include <QWidget>

int main(int argc, char *argv[]) {
   
    QApplication app(argc, argv);

    QWidget window;
    QVBoxLayout layout(&window);

    QListWidget listWidget;
    listWidget.addItem("Item 1");
    listWidget.addItem("Item 2");
    listWidget.addItem("Item 3");

    layout.addWidget(&listWidget);
    window.show();

    return app.exec();
}

在这个示例中,我们创建了一个QListWidget实例,并使用addItem方法向其中添加了三项。

通过QStringList添加多个项
除了逐个添加项,QListWidget还支持通过QStringList一次性添加多个项:

#include <QApplication>
#include <QListWidget>
#include <QVBoxLayout>
#include <QWidget>

int main(int argc, char *argv[]) {
   
    QApplication app(argc, argv);

    QWidget window;
    QVBoxLayout layout(&window);

    QListWidget listWidget;
    QStringList items = {
   "Item A", "Item B", "Item C"};
    listWidget.addItems(items);

    layout.addWidget(&listWidget);
    window.show();

    return app.exec();
}

在这个示例中,我们使用addItems方法向QListWidget中添加了一个字符串列表。

项管理

QListWidget提供了多种方法来管理列表项,包括插入、删除、查找和排序项。

1. 插入和删除项

可以使用insertItem方法在指定位置插入项,使用takeItem和removeItemWidget方法删除项。

#include <QApplication>
#include <QListWidget>
#include <QPushButton>
#include <QVBoxLayout>
#include <QWidget>

int main(int argc, char *argv[]) {
   
    QApplication app(argc, argv);

    QWidget window;
    QVBoxLayout layout(&window);

    QListWidget listWidget;
    listWidget.addItem("Item 1");
    listWidget.addItem("Item 2");
    listWidget.addItem("Item 3");

    QPushButton insertButton("Insert Item at Position 1");
    QPushButton deleteButton("Delete Selected Item");

    layout.addWidget(&listWidget);
    layout.addWidget(&insertButton);
    layout.addWidget(&deleteButton);

    QObject::connect(&insertButton, &QPushButton::clicked, [&listWidget]() {
   
        listWidget.insertItem(1, "Inserted Item");
    });

    QObject::connect(&deleteButton, &QPushButton::clicked, [&listWidget]() {
   
        del
  • 35
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值