如何评价QML?

html-css039

如何评价QML?,第1张

QML是一种描述性的脚本语言,文件格式以.qml结尾。语法格式非常像CSS(参考后文具体例子),但又支持javascript形式的编程控制。我个人认为它结合了QtDesigner UI和QtScript的优点。QtDesigner可以设计出·ui界面文件,但是不支持和Qt原生C++代码的交互。QtScript可以和Qt原生代码进行交互,但是有一个缺点,如果要在脚本中创建一个继承于QObject的图形对象非常不方便,只能在Qt代码中创建图形对象,然后从QtScript中进行访问。而QML可以在脚本里创建图形对象,并且支持各种图形特效,以及状态机等,同时又能跟Qt写的C++代码进行方便的交互,使用起来非常方便。

QML开发的界面其实是采用的QGraphicsView那套架构,用QML开发界面的好处就在于开发周期短(前提是你熟悉css),可移植性强(因为你可以将其做成QML插件,甚至放到一个文件里面作为脚本便于其他程序加载,但前提时你不需要过多地与其他非QML模块进行通信),还有就是QML的界面比较有质感。。

QWidget的优点就是与其他非GUI模块交互很方便。不需要用到Declarative模块里面的类。

ps:以上纯属个人观点