【问题标题】:Add fixed sized items to grid layout in correct row在正确的行中将固定大小的项目添加到网格布局
【发布时间】:2016-08-03 21:03:55
【问题描述】:

我正在尝试创建图像的网格布局,类似于谷歌图像的方式。

我想从左到右、从上到下添加固定大小的图像,但我无法确定何时将另一个图像添加到一行会使其不适合,然后决定将这些图像放置在新行中.

此外,当窗口调整大小时,它应该根据可以容纳的数量将图像移入/移出行。

我有一个滚动区域,其中有一个网格布局,如果我知道可以容纳什么就可以了,但是如果说窗口宽度缩小了,我不知道如何让它移动项目,并且说项目需要向下移动 1 行,移动其他等。

【问题讨论】:

  • 您应该考虑使用QGraphicsView。它可以让您完全控制位置和大小。

标签: qt layout pyqt pyqt5 qt-designer


【解决方案1】:

假设您使用的是 QWidgets,如果您想更好地控制项目的显示方式,我建议您使用 QListView,它可以免费进行布局,请使用 QItemDelegate。对于 QListView,视图模式应设置为 QListView::IconMode,以便您拥有项目网格而不是列表。

但是,如果您使用 QtQuick,事情会容易得多,带有图像代理的 GridView 可以快速完成您想要的操作,并使用 GPU 功能来构建您的 UI。

【讨论】:

  • 很酷,谢谢,我已经搞砸了 QListView,它正是我需要的。我将不得不查看 int QtQuick,我从未对它做过任何事情。我目前在 Qt Designer 中进行布局。我对 qt 很陌生,所以感谢您的建议!
猜你喜欢
  • 2021-09-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多