如何用Qt4制作Widget幻灯片视图?

发布于 2024-12-03 20:30:31 字数 780 浏览 2 评论 0原文

我目前在 QStackedLayout,我们将这些小部件称为“页面”。从一个页面切换到另一个页面是通过下面的按钮(上一页、索引、下一页)完成的。

我希望页面在切换时滑动,就好像它们被放置在大于屏幕的行上一样,根据用户的需求向左或向右移动。

为此,我认为 QScrollArea 就可以了,但我只能添加一个小部件到它,我无法索引子项目以相应地移动,也不能强制每个项目滚动(我不希望滑动运动在两个页面之间停止。)

另一个选择是 QListView 或其他派生QAbstractItemView,但我找不到如何将小部件作为 QListItemModel 传递或其他重新实现QAbstractItemModel数据角色非常有限,而且似乎都不允许使用 QWidget 。

我该如何继续实现这一目标?

I currently display several widgets (quite large ones, almost screen-wide) on a QStackedLayout, let's call these widgets "pages". Switching from a page to another is done with buttons below (previous, index, next).

I would like pages to slide while switching, as if they were placed on a larger-than-screen row, moving left or right depending on what the user wants.

For this I thought the QScrollArea would be OK, but I can add only one widget to it and I cannot index sub-items to move accordingly nor can I force a per-item-scroll (I don't want the sliding movement to stop between two pages.)

Another option is the QListView or other derivate from QAbstractItemView, but I can't find how to pass a widget as a QListItemModel or other reimplemented QAbstractItemModel. Roles for data are quite limited, and none seem to allow QWidgets.

How can I proceed to achieve this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

入画浅相思 2024-12-10 20:30:31

似乎使用 QScrollArea 并使用继承的 scrollContentsBy() 以编程方式滚动 就可以了。视口将是一个细长的小部件,可以向左或向右滑动,以便一次可以看到一个部分。

It seems using a QScrollArea and scroll programmatically using the inherited scrollContentsBy() would do the trick. The viewport then would be an elongated widget, sliding left or right so one section could be seen at a time.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文