我在 QML 中创建了一个 TableView,连接到一个 SoftFilterProxyModel。数据显示正常,当我点击一行时,我的“selectRow”函数运行,并接收到正确的行号。但是,没有任何内容显示为选中状态。我的设计基于这个 SO question
相关代码为:
ItemSelectionModel {
id: companyTableISM
model: companySFPM
}
function selectRow(row) {
console.log("In selectRow row "+row);
companyTableISM.select(companySFPM.index(row, 0), ItemSelectionModel.select | ItemSelectionModel.current );
console.log(companyTableISM.selectedIndexes);
console.log(companyTableISM.hasSelection);
}
因此,当我单击一行时,它会输出:
qml: In selectRow row 3
qml: []
qml: false
由于我的 selectRow 函数接收到正确的行号,模型(companySFPM)与 TableView 使用的模型匹配,为什么我的 2 条日志语句显示没有选中和错误(hasSelection)?