2014-09-10 170 views
0

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

回答

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。我认为这不仅仅是这个。希望能帮助到你!