Qt Quick学习一(核心编程)

    xiaoxiao2021-03-25  175

    在一个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
    转载请注明原文地址: https://ju.6miu.com/read-1605.html

    最新回复(0)