【发布时间】:2015-02-22 21:10:26
【问题描述】:
我想从数据库中读取特定数据,在表格中可视化数据并将所有内容写入另一个数据库。
但是我在阅读表格时遇到了一些问题。如何访问特定的表格单元格?
import QtQuick 2.4
import QtQuick.Window 2.2
import QtQuick.Controls 1.3
ApplicationWindow {
id: mainwindow
width: 400
height: 400
visible: true
Column {
Button {
id: printbutton
width: mainwindow.width
height: 30
text: "Print"
//Print TableView Cell
onClicked: console.log("tableview.row[1].column[1]")
}
ListModel {
id: libraryModel
ListElement{ title: "A Masterpiece" ; author: "Gabriel" }
ListElement{ title: "Brilliance" ; author: "Jens" }
ListElement{ title: "Outstanding" ; author: "Frederik" }
}
TableView {
width: mainwindow.width
height: mainwindow.height - printbutton.height
TableViewColumn{ role: "title" ; title: "Title" ; width: 100 }
TableViewColumn{ role: "author" ; title: "Author" ; width: 200 }
model: libraryModel
}
}
}
【问题讨论】:
-
不太清楚你在这里问什么。数据库是 QML 层还是 C++?您到底想在该控制台日志中打印什么?
-
QML 层中的数据库和控制台日志只是一个示例。我需要'table.row[a].column[b]'之类的东西。
-
您不会从视图中获取数据,而是从模型中获取数据 - 所以发布代码。
-
如果你只是使用 QML ListModel 来存储数据,它的 API 记录在这里:doc.qt.io/qt-5/qml-qtqml-models-listmodel.html
-
如上所述,
TableView只是显示数据,由模型提供。所以你只需要查询模型,例如:model.getRow(index).author