码迷,mamicode.com
首页 > 其他好文 > 详细

Qml 定义 constant

时间:2015-05-16 14:44:55      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:

         对于程序中一些常量如字符串, 实数等, C++中经常用的方法, 是定义全局常量; 或者把所有意义相近的常量用一个单例类收集起来。

         QML是类JSON的标识性语言, 使用js 语法去操作对象。 在QML中定义常量稍稍麻烦些。 总结起来, 有以下几种方法:

         使用 C++   qml 混合编程时, 可以在 C++ 中定义可读属性,或者使用 Q_INVOKABLE函数只提供get方法;  再把这个C++类暴露给QML——该方法效果同于在 QML 中使用QtObject定义不可见类

         另一种是 在 Python 文件中定义一个dict-lists 集合, 然后在QML中引用。 具体用法参考

      --Defining-and-using-constants-from-PySide-in-QML

         上述两种方法都需要从 QqmlEngine 获取 rootContext, 并使用setContextProperty注册。

         还有一种方法是 在 js 文件中定义变量, 然后在 qml中使用。

         对于 list 类型, C++ 的处理方法是 使用 QQmlListProperty 封装Qlist类, 也可以封装自定义容器; 在js 和 python中, 直接给list 写入字面量即可。

Qml 定义 constant

标签:

原文地址:http://www.cnblogs.com/aslistener/p/4507751.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!