关于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博客