参考:?
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就会被重新布局。