QListView的setResizeMode,setViewMode,setFlow

2023-12-22 14:16:45

参考:?

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

文章来源:https://blog.csdn.net/weixin_51883798/article/details/135146309
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。