如何滚动到QListView中的特定项目?

时间:2015-07-06 14:53:27

标签: qt pyqt pyqt5 qt5.4

我使用PyQt5并在IconMode中有一个QListView(带有自定义委托,想想缩略图查看器)。
当我点击一个项目并使用光标键进行导航时,一切都很好。但是,当我以编程方式选择项目并在之后按光标键时,选择将跳转到第一个项目。此外,listView.scrollTo(index)不做任何事情。我完全失去了......
在选择项目的函数中,这就是我所做的:

listView.selectionModel().select(QtCore.QItemSelection(index, index), QtCore.QItemSelectionModel.ClearAndSelect)
listView.scrollTo(index)
listView.setCurrentIndex(index)

选择新项目会发生什么(在我的委托的绘画功能中,option.stateQtWidgets.QStyle.State_Selected标志),但视图没有滚动进行制作可见。该项目也是"当前" (listView.currentIndex()返回新索引) 当我按下" down"光标键,视图中的第一个项目被选中并且当前,视图滚动到第一个项目 顺便说一句,如果我省略对selectionModel().select(...)的调用,行为是一样的。

非常感谢任何帮助! 谢谢,奥利弗

0 个答案:

没有答案