C++注册公开的枚举类型到QML中-创新互联

namespace MyNamespace {
   Q_NAMESPACE
   enum MyEnum {
       Key1,
       Key2,
   };
   Q_ENUMS(MyEnum)
 }

 //...
 qmlRegisterUncreatableMetaObject(MyNamespace::staticMetaObject, "io.qt", 1, 0, "MyNamespace", "Access to enums & flags only");
//On the QML side, you can now use the registered enums:
 Component.onCompleted: console.log(MyNamespace.Key2)
//This function was introduced in Qt 5.8.

注意事项
1.qt 5.8版本以上(参考其它贴)
2.MyEnums 第一个字母一定要大写,包括枚举中的变量(参考其它贴)

成都创新互联主要从事成都做网站、网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务黄岛,10余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:13518219792

3.qmlRegisterUncreatableMetaObject最后一个参数不可以省略

4.Q_NAMESPACE应该是要在需要使用的枚举定义之前

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


当前标题:C++注册公开的枚举类型到QML中-创新互联
文章网址:http://myzitong.com/article/codddp.html