参考:
https://blog.csdn.net/xuancailinggan/article/details/77487780
1、创建一个QtGUI应用,基类选择QWidget
2、初始化
listWidget = new QListWidget(this);
this->setGeometry(100,100,200,200);
listWidget = new QListWidget(this);
listWidget->setGeometry(50,50,100,100); //设置位置
2、尾部追加
1.1、方法1
//QListWidget追加数据方法1:少量追加
listWidget->addItem(new QListWidgetItem(QIcon(":/resourece/qtblog.png"), tr("第0行")));
1.2、方法2
QListWidgetItem *item = new QListWidgetItem;
item->setText(tr("第0行"));
item->setIcon(QIcon(":/resourece/qtblog.png"));
listWidget->addItem(item);
1.3、方法3
new QListWidgetItem(QIcon(":/resourece/qtblog.png"), tr("第0行"), listWidget);
2.1、批量追加
//QListWidget追加数据方法2:批量追加
QStringList strList;
strList << QString("第2行") << QString("第3行") << QString("第4行");
listWidget->addItems(strList);
2.2、建立一个继承自QListWidget的窗口,构造函数:
Widget::Widget(QWidget *parent)
: QListWidget(parent)
{
QStringList strList{tr("项目0"), tr("项目1"), tr("项目2"), tr("项目3")};
this->addItems(strList);
}
//QListWidget追加数据方法1:少量追加
QListWidgetItem *item = new QListWidgetItem;
item->setText("方法1");
listWidget->addItem(item);
//QListWidget追加数据方法2:批量追加
QStringList strList;
strList << QString("第2行") << QString("第3行") << QString("第4行");
listWidget->addItems(strList);
//任意位置插入:因为item指向同一块内存,所以修改了原来的0行内容
item->setText("插入0");
listWidget->insertItem(0, item);
//QListWidget追加数据方法1:少量追加
QListWidgetItem *item = new QListWidgetItem;
item->setText("方法1");
listWidget->addItem(item);
//QListWidget追加数据方法2:批量追加
QStringList strList;
strList << QString("第2行") << QString("第3行") << QString("第4行");
listWidget->addItems(strList);
//任意位置插入:覆盖插入
QListWidgetItem *item1 = new QListWidgetItem;
item1->setText("插入0");
listWidget->insertItem(0, item1);
addItems()和insertItem()的区别在于前者在末尾追加数据,后者可以在任意位置插入数据。
3、添加图标
item->setIcon(QIcon(":/resourece/qtblog.png"));
4、多选模式:[默认单选SingleSelection]
listWidget->setSelectionMode(QAbstractItemView::ExtendedSelection);
5、图标显示
前面的列表是小图标显示,我们也可以更改为图标显示
listWidget->setViewMode(QListView::IconMode); //图标显示
listWidget->setIconSize(QSize(200, 200));
listWidget->setResizeMode(QListWidget::Adjust);
new QListWidgetItem(QIcon(":/resourece/rectangle.png"), tr("第0行"), listWidget);
new QListWidgetItem(QIcon(":/resourece/circle.png"), tr("第1行"), listWidget);