QListWidget的简单使用和说明

关于QListWidget的使用,我在网上和书上都没有找到较好的例子,介绍它的使用和说明:经过一两天整理,自己觉得还是有必要在这里写下来跟大家一起分享下:

1、QT列表控件:QListWidget,与QListView控件类似。两者的本质区别是:QListWidget是基于Item,而QListView是基于Model的。

QListWidget是继承QListView,QListView是基于Model的,需要自己来建模(如建立QStringListModel,QSqlTableModel等),保存数据,这样就大大降低了数据冗余,提高了程序的效率,但是需要我们对数据建模有一定的了解,而QListWidget是一个升级版本的QListView,它已经为我们建立了一个数据存储模型QListWidgetItem,操作方便,直接调用addItem即可添加Item项。

我们可以通过信号和槽的方式对列表控件的选项进行响应,如

connect(list,SIGNAL(currentTextChanged(QString)),this,SLOT(setText(QString)));

QListWidget常用API:

setIconSize(QSize(212,145)):设置单元项大小,

setMovement(QListView::Static):设置单元项不可拖动,(Static、Free、Snap)

setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff):设置垂直滚动条显示方式(ScrollBarAsNeeded:按需显示,ScrollBarAlwaysOff:隐藏,ScrollBarAlwaysOn:常显)

 

QListWidgetItem常用API:

setSizeHint(QSize(209,144)):设置单元项的宽度和高度

setIcon(QIcon(imgPix.scaled(QSize(201,135),Qt::IgnoreAspectRatio,Qt::SmoothTransformation))):设置图像

--------------------- 本文来自 DK_Jack_8907 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/dk29030901065/article/details/49963235?utm_source=copy

2、删除项  (方法一):

    QListWidgetItem *deletedItem=this->ui->listWidget->takeItem(i);
    delete deletedItem;

需要注意的是,第二句的内存删除是一定要的,根据Qt文档,takeItem只是在视图(视觉)上实现了移除此项,但其实并没有释放内存。

删除项(方法二):

       QListWidget::removeItemWidget(QListWidgetItem *item)   这个函数可以同时移除项和释放内存。

3、相关资料链接 :

QListWidget的简单用法 - venow - 博客园

Qt编程23:QListWidget简单应用 - CSDN博客

Qt学习: QListWidget的用法. - CSDN博客

Qt QListWidget的使用 - CSDN博客

Qt每日小结——QListWidget使用总结 - CSDN博客

QListWidget的使用 - CSDN博客

QListWidget用法小结 - CSDN博客

下载电子书攻略 - CSDN博客

你可能感兴趣的:(Qt)