【问题标题】:Qt Resize of QListViewQListView的Qt调整大小
【发布时间】:2016-12-11 05:43:15
【问题描述】:

我想根据内容调整 QListView 的宽度,让每个项目都可见。 列表如下:

...
setFlow(QListView::LeftToRight) ;
setLayoutMode(QListView::Batched);
setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
setAutoScroll(false);
setUniformItemSizes(true);
setResizeMode(QListView::Adjust);
...

我尝试了不同的 QSizePolicy 并感到非常困惑。

【问题讨论】:

  • 检查 sizeHintQListView 在更改项目数时返回的内容。如果总是相同的值,那么尺寸政策将无济于事。
  • @MarekR Ty 为您的评论。它总是一样的。如果我为我的列表视图重新定义 sizeHint(),我如何计算适合所有项目的正确宽度?
  • @MarekR 好的。我在 sizeHint() 中使用 sizeHintForColumn() 计算。

标签: qt qlistview qsizepolicy


【解决方案1】:

这个开关:

setUniformItemSizes(true);

开启QListView的一些优化。似乎优化的代码在调整 qlistview 大小时不会计算布局。 尝试设置 setUniformItemSizes(false) 并且您的 qlistview 应该适应项目大小。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多