目录
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