zhiyaormb 2023-10-12 10:38 采纳率: 25%
浏览 149
已结题

qml使用TableViewColumn时报告TableViewColumn is not a type

代码如下:

import QtQuick 2.15
import QtQuick.Window 2.15
import QtQuick.Controls 2.15
......
Rectangle
{
  ......
  TableView
   {
     ....
     TableViewColumn
      {
          role:"level"
          title:"Level"
      }
      TableViewColumn
      {
          role:"message"
          title:"Message"
      }
      ...............
       model: ListModel
       {
           ListElement
           {
               level: "0"
               message:"alarm"
           }
           ......
       }
   }
}

TableView倒是不会报错。另外有说需要添加import Qt.labs.qmlmodels的,不过这个模块提示没有安装。

  • 写回答

10条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2023-10-12 10:40
    关注
    获得0.75元问题酬金

    引自强大而免费的微信小程序:皆我百晓生。如有帮助,还望采纳。


    你的代码中确实缺少了引入Qt.labs.qmlmodels模块的语句,这个模块可以提供更强大的数据模型支持。

    要解决这个问题,你可以在代码开头添加如下语句:

    import Qt.labs.qmlmodels 1.0
    

    然后再使用TableViewColumn就不会报错了。

    然而,根据你的描述,可能你的Qt版本不支持Qt.labs.qmlmodels模块。在Qt 5.15之后的版本中,QtQuick.Controls已经提供了一个简单的数据模型TableViewModel,你可以使用它来替代ListModel

    下面是一个修改后的代码示例:

    import QtQuick 2.15
    import QtQuick.Controls 2.15
    import QtQuick.Window 2.15
    
    Window {
        visible: true
        width: 400
        height: 300
    
        TableView {
            width: parent.width
            height: parent.height
    
            TableViewColumn {
                role: "level"
                title: "Level"
            }
    
            TableViewColumn {
                role: "message"
                title: "Message"
            }
    
            model: TableModel {
                TableView {
                    width: 100
                    height: 100
                    model: TableModel {
                        roles: [
                            { name: "level", type: "string" },
                            { name: "message", type: "string" }
                        ]
                        rows: [
                            { level: "0", message: "alarm" },
                            { level: "1", message: "warning" },
                            { level: "2", message: "info" }
                        ]
                    }
                }
            }
        }
    }
    

    希望这可以帮助到你!

    评论

报告相同问题?

问题事件

  • 系统已结题 10月20日
  • 创建了问题 10月12日

悬赏问题

  • ¥15 代码在keil5里变成了这样怎么办啊,文件图像也变了,
  • ¥20 Ue4.26打包win64bit报错,如何解决?(语言-c++)
  • ¥15 clousx6整点报时指令怎么写
  • ¥30 远程帮我安装软件及库文件
  • ¥15 关于#自动化#的问题:如何通过电脑控制多相机同步拍照或摄影(相机或者摄影模组数量大于60),并将所有采集的照片或视频以一定编码规则存放至规定电脑文件夹内
  • ¥20 深信服vpn-2050这台设备如何配置才能成功联网?
  • ¥15 Arduino的wifi连接,如何关闭低功耗模式?
  • ¥15 Android studio 无法定位adb是什么问题?
  • ¥15 C#连接不上服务器,
  • ¥15 angular项目错误