The*_*roo 164
QML是语言的名称(就像C++,它是另一种语言......)
QtQuick是QML的工具包,允许使用QML语言开发图形界面(QML还有其他工具包,有些是Sailfish Silica或BlackBerry Cascade等图形工具,有些是QBS之类的非图形化,可替代QMake/CMake /使...)
QtQuick 1.x是基于Qt4.x的,并使用QPainter/ QGraphicsViewAPI绘制场景.QtQuick 2.X是在Qt5.0中引入的,基于Scene Graph,一个高度优化的OpenGLES2抽象层.
与Qt5.1,场景图被增强,可以使用多线程(QtQuick 2.1)与Qt5.2,场景图是又一个更大量优化,以减少CPU/GPU呼叫和存储器使用
QML引擎是基于JsCore(的Webkit的JS引擎)在Qt4.x,并用5.0衍合上V8(谷歌浏览器的JS引擎),但不允许使用它在手机上的,特别是在iOS上,所以Qt5.2引入了新的QML引擎,名为V4VM,由/为Qt人创建.
还有QtQuick控件,它基本上是一组基于QtQuick的原生外观小部件.它最初用于桌面,但Qt 5.4基于holo主题推出了Android的原生L&F.材料主题以及iOS主题正在开发中,但截至目前的Qt版本(5.5)尚未提供.有些控件只是Enterprise,但在Qt5.5中,它们被重命名为Extras,现在它们可用于所有许可证.另一个发展正经历,命名为QtQuickControls 2,这是控制的全部重写,以获得更好的性能,瞄准光的嵌入式用户界面,它应该在技术预览阶段的Qt 5.6.
从Qt5.5开始,有一个名为QtQuick3D的新模块,它可以使用QML语言创建3D应用/游戏.它不使用太过2D/2.4D导向的SceneGraph.一个新的引擎被命名为FrameGraph用于此用途.
如果您开发现代应用程序,则应使用Qt5.x + QML 2.x + QtQuick 2.x来触及最大的用户群.
对于Qt,一般来说,始终遵循更新,因为它们添加了更多功能,更多性能和更多平台.
Ste*_*uan 14
编辑:请参阅@TheBootroo以获得更好的答案
虽然我的答案被OP接受,但我想修改(甚至)删除我的答案.
我的回答是基于2013年Qt 5.2的个人经验,其中一些现在已不再有效:
回到Qt 5.2,当你构建一个Qt快速应用程序时,一个重要的问题是该应用程序是QtQuick 1.x还是QtQuick 2.x. 这不仅会影响可用的组件,还会改变应用程序的呈现方式.
早在2013年:
如果您必须使用较旧的操作系统(例如Windows XP)或较旧的硬件(例如OLPC),则经常选择QtQuick 1.x应用程序,因为QML UI组件(如按钮)是由操作系统本机组件呈现的.但是,这意味着您要针对最低标准的UI组件集,并且您的UI体验可能因平台而异.
选择QtQuick 2.x应用程序是为了更加一致的跨平台外观,但是,它要求您的平台充分实现OpenGLES,否则您的应用程序可能无法加载.不幸的是,这限制了您的应用程序仅限于实现OpenGLES的最新计算机和设备.
当我写下我的原始答案时,这引导我在QtQuick 2.x的某些场景中推荐QtQuick 1.x.
然而,从那时起,Qt 5+现在允许您在Windows上定位ANGLE,它通过将调用转换为Direct3D来获得对Windows桌面的高性能OpenGL兼容性,Direct3D具有更好的驱动程序支持.
| 归档时间: |
|
| 查看次数: |
26983 次 |
| 最近记录: |