gpt4 book ai didi

python - QGraphicsView 自动放置元素

转载 作者:太空宇宙 更新时间:2023-11-03 13:53:56 25 4
gpt4 key购买 nike

我想使用 QGraphicsView 编写一个 Assets 浏览器。它与使用 QGraphicsView 和 QGraphicsItems 的示例有点不同,因为我只想要一个滚动条,并且我希望项目在视口(viewport)大小更改时自动移动。例如,当视口(viewport)宽度大到足以显示 4 个 Assets 时,它们应该这样显示:

aaaa
aaaa
aa

但是当视口(viewport)缩小并且只能包含连续 3 个时,它应该像这样显示它们:

aaa
aaa
aaa
a

我不想自己移动这些 Assets 并让图形 View 管理它们。这有可能吗?

我曾经写过这样的东西,但是使用 QWidget 和 paintEvent,自己绘制所有 Assets 并跟踪可以连续显示多少 Assets 。可以用 QGraphicsView 做的更简单吗?

最佳答案

QGraphicsView 支持布局。你要做的是实现你自己的布局管理器,继承自 QGraphicsLayout。

对于您需要的布局,请查看 Qt 的 Flow Layout 示例。转换该示例将为您提供 QGraphicsFlowLayout。将您的 QGraphicsItems 添加到此布局并将 QGraphicsView 的布局设置为该布局,这样就可以解决问题。

关于python - QGraphicsView 自动放置元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1538308/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com