Qt Quick学习一(核心编程)

  • 在一个quick 程序中其实 .qml 和c++文件是两个平行的世界,所以想要在qml中使用c++ 在qt中提供了两种方法
              a、把c++的一个类注册为qml环境的一个类型  这样就能在qml环境中使用该类型创建对象
              b、在c++中构造一个对象,将这个对象设置为qml的上下文属性,在qml中能够直接使用该属性
  • 想要在qml中使用 c++ (不管是上面哪种方式)必须满足两个条件
               a、继承自QObjec 或是他的派生类
               b、使用Q_OBJECT宏
1、在qml中可以访问的c++类(设置类的属性)
        信号和槽 : 可以把c++信号链接到qml 也可以把 qml信号链接到c++槽 也可以直接调用c++的信号链接c++的槽
        Q_INVOKABLE宏修饰的 c++类中的成员方法
        Q_ENUMS 宏修饰的枚举类型
        Q_PROPERTY宏修饰的属性  这个宏用起来有点麻烦详细可以查看文档
2、在qml怎么僵c++类注册为qml类型
        ①实现c++类
        ②注册成qml类型  qmlRegisterSingleType()单例类型;qmlRegisterUncreatableType()有附加属性的类型;qmlRegisterTypeNotAvailable()注册一个类型用来占位;qmlRegisterType()注册一个非单利类型
        ③在qml中导入类型 import()
        ④在qml中创建该类型的实例并且使用
3、在c++对象导出为qml属性
         ①查看 图a1    
         ②如果是+Windows 的程序如图a2

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值