【问题标题】:QML - get tableview cell contentQML - 获取表格视图单元格内容
【发布时间】: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

标签: qt tableview qml qtquick2


【解决方案1】:

如果您想访问模型数据,您可以使用文档中的函数。查看 get 了解您在 QML 中使用的模型或查看 data 了解 C++ 模型。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多