qml tableview 鼠标事件
时间: 2023-10-14 20:07:49 浏览: 321
在QML中,可以使用TableView来显示表格数据,并且可以捕获鼠标事件。下面是一个示例代码:
TableView {
id: tableView
width: 400
height: 300
model: ListModel {
ListElement { name: "Alice"; age: 25 }
ListElement { name: "Bob"; age: 30 }
ListElement { name: "Charlie"; age: 35 }
}
TableViewColumn {
role: "name"
title: "Name"
width: 100
}
TableViewColumn {
role: "age"
title: "Age"
width: 100
}
MouseArea {
anchors.fill: parent
acceptedButtons: Qt.LeftButton
onClicked: {
var rowIndex = tableView.rowAt(mouseY)
var columnIndex = tableView.columnAt(mouseX)
var modelIndex = tableView.model.index(rowIndex, columnIndex)
var cellData = tableView.model.data(modelIndex)
console.log("Clicked on cell: " + cellData)
}
}
}
以上代码创建了一个TableView,其中包含两列:Name和Age。通过MouseArea捕获鼠标事件,当用户点击某个单元格时,会输出该单元格的数据。
阅读全文