Qt Quick学习一(核心编程)

来源:互联网 发布:伤寒论趣味助学软件 编辑:程序博客网 时间:2024/05/19 20:20
  • 在一个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
原创粉丝点击