我知道如何绑定到像onClicked
这样的根TableView信号,但由于onSelectionChanged
是selection
属性的信号,我不确定如何绑定它
我确信我可以使用Connections
绑定它,但以下代码无效:
编辑:Connections
确实有效,问题是无关的错误(请参阅我自己的回答)
TextArea {
id: messageDetailTextArea
readOnly: true
font: messageListDialog.font
function update() {
var selectionText = ''
messagesTable.selection.forEach(function(rowIndex) {
var row = model.get(rowIndex)
if (row && row.message) selectionText += row.message
})
text = selectionText
}
Connections {
target: messagesTable.selection
onSelectionChanged: update()
}
}
但遗憾的是,当我点击表格中的某行时,TextArea
不会更新。我如何回应选择变更?
答案 0 :(得分:0)
啊,所以我没有model
,并且对update()
的调用合格。这很有效:
TextArea {
id: messageDetailTextArea
readOnly: true
font: messageListDialog.font
function update() {
var selectionText = ''
messagesTable.selection.forEach(function(rowIndex) {
var row = messagesTable.model.get(rowIndex)
if (row && row.message) selectionText += row.message
})
text = selectionText
}
Connections {
target: messagesTable.selection
onSelectionChanged: messageDetailTextArea.update()
}
}