gpt4 book ai didi

c++ - 动画调整 QListView 的大小

转载 作者:行者123 更新时间:2023-11-28 06:42:16 25 4
gpt4 key购买 nike

我有一个 QListView,我可以通过调用 updateGeometry 来适应内容。现在我想为它制作动画。我不能使用 resizeEvent,因为它是 after 小部件调整大小后调用的。什么是开始这个​​动画的正确位置,因此哪些成员在内部被调用?

最佳答案

好吧,您应该完全离开 QListView,转而关注它的模型。假设您有类似的东西:

QListView *myListView;

在那种情况下你应该注意它的模型,这意味着:

QAbstractItemModel *myListModel(myListView->model());

你可以连接一些插槽(取决于你想何时开始动画,在 View 获取数据之前或之后),可能是这样的:

connect(myListModel, &QAbstractItemModel::rowsAboutToBeInserted, myHandlingObject, &MyHandlingObjectClass::myHandlingSlot);

或:

connect(myListModel, &QAbstractItemModel::rowsInserted, myHandlingObject, &MyHandlingObjectClass::myHandlingSlot);

在 MyHandlingObjectClass::myHandlingSlot() 插槽中,您最终将启动一个 QPropertyAnimation。我认为仅此而已。希望对您有所帮助!

关于c++ - 动画调整 QListView 的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25765219/

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