qt - 如何知道 QML QListView 中的所选项目何时发生更改?

标签 qt listview qml pyqt5 qlistview

我正在使用 QtQuick 2.0 和 QML ListView 来显示一些项目,我需要知道用户何时选择不同的项目。当用户单击委托(delegate)中的鼠标区域时发出信号,即

MouseArea{
    onClicked: {
                 controller.itemChanged(model.item);
                 someList.currentIndex = index;
   }
}

但前提是用户使用鼠标选择项目,但如果用户使用箭头键则不起作用。

我一直在查看文档以查找更改 currentIndex 时发出的信号,但我似乎找不到任何信号。我正在寻找类似于 QListWidget::itemSelectionChanged() 的东西,但似乎 QML ListView 没有。

最佳答案

您只需在 ListView 中添加 onCurrentItemChanged:{}

关于qt - 如何知道 QML QListView 中的所选项目何时发生更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22901205/

相关文章:

c++ - 在宏的帮助下创建类属性

qt - 从 cmake 为 QT5 生成的 MOC 文件中出现错误

java - 进度对话框未显示在 AsyncTask 中

delegates - qml ListView 中的第一个元素的行为是否不同?

Qt5.6 QML,为什么垃圾回收后动态模型会被销毁?

c++ - 仅当您在 QML 中单击 Blackberry Cascades 模拟器时,您如何响应点击文本字段?

c++ - 直通几何着色器

c++ - 将 std::cout 重定向到 QTextEdit

android - 如何将 Listview 项目拖放到另一个 Listview

android - 如何重用 ListView 的方法?