【发布时间】:2011-06-03 05:29:46
【问题描述】:
Qt 中未找到 Qlistview Selectionchanged 事件 Qt中Qlistview中的选择更改事件等价于什么?
【问题讨论】:
Qt 中未找到 Qlistview Selectionchanged 事件 Qt中Qlistview中的选择更改事件等价于什么?
【问题讨论】:
selectionChanged 信号由附加到视图的QItemSelectionModel 生成,而不是视图小部件本身。
您可以通过在视图对象上调用selectionModel() 来获取该模型,或者通过setSelectionModel() 添加您自己的模型。
这适用于QListView 和QListWidget,因为此行为由两者都继承的QAbstractItemView 处理。
(类层次结构为QAbstractItemView < QListView < QListWidget。)
更多信息请参见Handling selections in item view。
【讨论】:
只是选择,所以重点?
使用 QListView 时:
QAbstractItemView::currentChanged ( const QModelIndex & current, const QModelIndex & previous )
使用QListWidget时,也可以使用:
QListWidget::currentItemChanged ( QListWidgetItem * current, QListWidgetItem * previous )
文档:
【讨论】:
QAbstractItemView::currentChanged 在Qt 5.7 中受到保护,这仅在您尝试制作自己的 ListView 实现时才有用。