Qt之QListWidget学习

参考:

https://blog.csdn.net/xuancailinggan/article/details/77487780

1、创建一个QtGUI应用,基类选择QWidget

2、初始化

 listWidget = new QListWidget(this);

af826fb0f1c74b631467cc3bf719329e70a.jpg

    this->setGeometry(100,100,200,200);
    listWidget = new QListWidget(this);
    listWidget->setGeometry(50,50,100,100);  //设置位置

c27130d32bfc3ef6a605c19387190ccbabc.jpg

2、尾部追加

1.1、方法1

    //QListWidget追加数据方法1:少量追加
    listWidget->addItem(new QListWidgetItem(QIcon(":/resourece/qtblog.png"), tr("第0行")));

0be84231a4a4af9a539e3a23ebb79b3cefc.jpg

1.2、方法2

    QListWidgetItem *item = new QListWidgetItem;
    item->setText(tr("第0行"));
    item->setIcon(QIcon(":/resourece/qtblog.png"));
    listWidget->addItem(item);

0be84231a4a4af9a539e3a23ebb79b3cefc.jpg

1.3、方法3

 new QListWidgetItem(QIcon(":/resourece/qtblog.png"), tr("第0行"), listWidget);

0be84231a4a4af9a539e3a23ebb79b3cefc.jpg

2.1、批量追加


    //QListWidget追加数据方法2:批量追加
    QStringList strList;
    strList << QString("第2行") << QString("第3行") << QString("第4行");
    listWidget->addItems(strList);

8ef40498279281fadc938658510f1869bba.jpg

2.2、建立一个继承自QListWidget的窗口,构造函数:

Widget::Widget(QWidget *parent)
    : QListWidget(parent)
{
    QStringList strList{tr("项目0"), tr("项目1"), tr("项目2"), tr("项目3")};
    this->addItems(strList);
}

238dadf7e63b9207f0a743f92798115eac3.jpg

    //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);

93111b46405561c829122b37e2c96206210.jpg


    //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);

5883ec4f033fd301c672003807c093b0869.jpg

addItems()和insertItem()的区别在于前者在末尾追加数据,后者可以在任意位置插入数据。

3、添加图标

item->setIcon(QIcon(":/resourece/qtblog.png"));

6634a6b76cc3601c81cdd3d799380f8922e.jpg

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);

27a57e4e073125592cb3a2573c70fc8f5d3.jpg

转载于:https://my.oschina.net/u/3919756/blog/2051453

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值