我有一个QListView,我可以通过调用updateGeometry来适应内容。现在我想给它制作动画。我无法使用resizeEvent,因为在小部件调整大小后它是calles 。什么是开始这个动画的正确的地方,ergo内部调用哪些成员?
答案 0 :(得分:1)
好吧,你应该完全离开QListView并专注于它的模型。让我们说你有类似的东西:
QListView *myListView;
在这种情况下,你应该注意它的模型,这意味着:
QAbstractItemModel *myListModel(myListView->model());
你可以连接一些插槽(取决于你想要在视图提取数据之前或之后开始动画的时间),可能是这样的:
connect(myListModel, &QAbstractItemModel::rowsAboutToBeInserted, myHandlingObject, &MyHandlingObjectClass::myHandlingSlot);
或:
connect(myListModel, &QAbstractItemModel::rowsInserted, myHandlingObject, &MyHandlingObjectClass::myHandlingSlot);
在MyHandlingObjectClass :: myHandlingSlot()插槽中,您最终将启动QPropertyAnimation。我认为它不仅仅是这个。希望它有所帮助!