我目前在QStackedLayout上显示几个小部件(非常大的,几乎是屏幕范围的),让我们将这些小部件称为“页面”。使用下面的按钮(上一个,索引,下一个)从一个页面切换到另一个页面。
我希望页面在切换时滑动,好像它们被放置在大于屏幕的行上,根据用户的需要向左或向右移动。
为此,我认为QScrollArea会没问题,但是我只能添加一个小部件而且我不能将子项索引以相应地移动,也不能强制按项目滚动(我不是我希望滑动运动在两页之间停止。)
另一个选项是来自QAbstractItemView的QListView或其他派生,但我找不到如何将小部件作为QListItemModel或其他重新实现的QAbstractItemModel传递。 Roles for data are quite limited,似乎没有人允许使用QWidgets。
我如何才能实现这一目标?
答案 0 :(得分:1)
似乎使用QScrollArea并使用继承的scrollContentsBy()
以编程方式滚动就可以了。然后视口将是一个细长的小部件,向左或向右滑动,因此一次可以看到一个部分。