QML - 获取表格视图单元格内容

Posted

技术标签:

【中文标题】QML - 获取表格视图单元格内容【英文标题】:QML - get tableview cell content 【发布时间】: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 【参考方案1】:

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

【讨论】:

以上是关于QML - 获取表格视图单元格内容的主要内容,如果未能解决你的问题,请参考以下文章

以编程方式创建表格视图单元格内容

移除单元格附件后,如何将微调器与单元格内容视图居中?

滚动后某些表格视图单元格内容消失(swift)

vb.net中如何获得DataGridView单元格内容

Swift:每次重新加载时都会一次又一次地添加表格视图单元格内容?

Excel单元格内容包含指定单元格内容时,如何把“指定单元格2”复制到“单元格1”后面?