参考:
qt的QListwiget设置横向的排列_qlistwidget 横排-CSDN博客
希望实现类似的效果:
感觉关键是搞清楚这三句:
list.setViewMode(QListView::IconMode);list.setFlow(QListView::LeftToRight);list.setResizeMode(QListView::Adjust);
因为有很多模式可以组合。有待探索!!!
代码:
QListWidget list;list.setViewMode(QListView::IconMode);list.setFlow(QListView::LeftToRight);list.setResizeMode(QListView::Adjust);QString path=QApplication::applicationDirPath()+"/image.png";qDebug()<<path;for(int i=0;i<100;i++){QListWidgetItem * item=new QListWidgetItem(&list);item->setText(QString::number(i+1));item->setIcon(QIcon(path));list.addItem(item);}list.show();
效果:
使用该语句:
list.setResizeMode(QListView::Fixed);
效果:
官方文档:
一种是:items只在视图第一次被显示的时候被布局。
另一种是:每当视图被调整大小时,items就会被重新布局。