在Qt中找不到Qlistview Selectionchanged事件?

use*_*285 6 qt qlistview

在Qt中找不到Qlistview Selectionchanged事件Qt中Qlistview中选择更改事件的等价物是什么?

Mat*_*Mat 13

selectionChanged信号通过所产生的QItemSelectionModel附着在视图,而不是视图部件本身.

您可以通过调用selectionModel()视图对象或添加自己的模型来获取该模型setSelectionModel().

这适用于QListViewQListWidget,因为此行为由QAbstractItemView两者都继承.

(类层次结构是QAbstractItemView < QListView < QListWidget.)

有关详细信息,请参阅处理项目视图中的选择.


Exa*_*Exa 3

只是选择,那么重点呢?

使用QListView时:

QAbstractItemView::currentChanged ( const QModelIndex & current, const QModelIndex & previous )
Run Code Online (Sandbox Code Playgroud)

使用QListWidget时,还可以使用:

QListWidget::currentItemChanged ( QListWidgetItem * current, QListWidgetItem * previous )
Run Code Online (Sandbox Code Playgroud)

文件:

  • 不知道这是否在某个时候有效,但它似乎在 qt 4.8 中不起作用,因为 QListView currentChanged 由于某种原因受到保护。 (3认同)