QListView和QListWidget区别
QListView基于模型,QListWidget基于Item。 这就是它们的本质区别。
要向QListView中添加条目,需要QAbstractListModel:
例如:
主窗口:3360主窗口(q构件* parent ) :
qmainwindow(parent )、
ui (新ui :3360主窗口) )。
{
用户界面-设置用户界面(this;
qstringlistmodel * SLM=newqstringlistmodel (this;
QStringList* sl=new QStringList (;
sl-append(asdfsadfsa );
sl-append(asdfsadfsa );
sl-append(asdfsadfsa );
SLM-setstringlist(*sl;
用户界面列表集模型(SLM;
delete sl;
}
向QListWidget中添加条目后,可以直接访问additem
例如:
qlist构件列表;
list.set view mode (qlist构件:3360 icon mode;
list.setresizemode (qlistwidget : adjust;
list.set movement (qlistwidget :3360静态;
for(intI=0; i 100; I ) {
qlistwidgetitem * item=newqlistwidgetitem (list );
q style :3360标准dpixmapsp=(q style :3360标准pixmap ) ) i % 57;
item-setdata (Qt :3360描述角色,qApp-style ) -标准pixmap (sp ).scaled ) q size (16,16 ),Qt3360336
item-setdata (Qt :3360显示角色,Qobject:3360tr(item%1).arg ) I );
}
QListView自定义Item
实现方法大致有三种:
1、使用QListWidget的话,我们直接调用setitem构件就可以了。
语音构件(qlistwidgetitem * item,q构件*构件) )。
2、QListWidget和QListView都可以通过调用setIndexWidget来实现。 但是,该方法只适合静态数据的显示,不适合插入、更新、删除操作的数据显示。
(voidqabstractitemview :3360 setindexwidget (constqmodelindexindex,q构件*构件) () ) ) ) ) ) ) )
3、我们对QListView实现自己的ItemDelegate。 使用这个方法,改写ItemDelegate的paint函数。
QListView实现了自己的ItemDelegate方式来实现自定义item,并参照文章
3359 blog.csdn.net/a 844651990/article/details/84324560
setitem小部件实现自定义item (实现包含多列的复杂列表)并引用文章
3359 blog.csdn.net/min gzznet/article/details/17202779