QML 学习笔记

QML调用C++

c++类要继承QOBJECT

方法一

qmlRegisterType<mySerialPort>("io.qt.example.myserialport", 1, 0, "mySerialPort");

注册到QML环境中
QML中就可以当作普通组件使用了。
尝试的时候,怎么都不成功,最后找到原因,QML文件与C++文件要在一个目录下。不在一个目录下总报错。

方法二

qmlRegisterType<mySerialPort>("io.qt.example.myserialport", 1, 0, "mySerialPort");

这种是把一个对象实体暴露给QML,没有同一目录的限制。

Listview的使用

ListView
    {
        id: listvie_port
        anchors.fill: parent

        model:ListModel
        {
            id: myModel
            ListElement
            {
                Name: "端口号"
            }
        }

        delegate: Component
        {
            id: dragDelegate
            Rectangle
            {
                id: content

                anchors
                {
                    left: parent.left;
                    right: parent.right
                }

                height: column.implicitHeight + 40
                border.width: 2
                border.color: "lightsteelblue"
                radius: 2
                Column
                {
                    id: column
                    anchors { fill: parent; margins: 2 }
                    Text { text: 'Port : ' + Name }
                }
            }
        }
        Component.onCompleted:
        {
            for (var name in mySerialPort.GetPortList)
            {
                myModel.append({"Name": "COM" + name})
            }
        }

    }

参考的自带的例程,具体含义也不是全懂
ListMode类似于数据的存储

Component类似显示的定义。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值