如何默认选择列表视图中的第一项?
我正在使用 QFileSystemModel
和 QListView
,并且我希望默认选择模型显示的第一个项目。
每次单击某个项目时如何执行此操作?
I am using QFileSystemModel
along with QListView
, and I want the first item shown by the model to get selected by default.
How I do that every time I click an item ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
使用
setCurrentIndex
应该可以完成这项工作:这里的
fsModel
可以是类似view->model()
的东西。Using
setCurrentIndex
should do the job:fsModel
here can be something likeview->model()
.我遇到了同样的问题(Pyside6 python),这是我的解决方法(如果更改语法,应该在 C++ 中工作)。它不是那么好,但是有效!
您正在寻找的行可能是这两行:
如果您只在开始时需要它,则directoryLoaded 信号也可能起作用。
moveCursor 提供 QModelIndex(在本例中为左上角 -> MoveHome)。
如果您使用其他 QAbstractItemView.CursorAction,例如 QAbstractItemView.CursorAction.MoveDown,您可以选择下一项。
更多信息:
I had the same problem (Pyside6 python) here is my workaround (should work in c++ if you change syntax). It isn't that nice, but works!
The lines you are looking for are probably this two:
The directoryLoaded Signal might work as well, if you only need it on the start.
moveCursor provides a QModelIndex (in this case the left-upper-corner -> MoveHome).
If you use other QAbstractItemView.CursorAction like QAbstractItemView.CursorAction.MoveDown, you can select the next item.
More here:
这将选择并单击第一个项目:
This is going to select and click the first item:
您是否尝试过将 QListView signal: 连接
到插槽并从中读取数据
它将提供索引,检查它是否是第一个,如果是,则设置它。
Have you tried connecting the QListView singal:
to a slot and reading the data from the
It will provide the index, check if its the first one, if it is, set it.