Qt Quick Controls 历史
Qt 4.7(2010 年发布):Qt Quick Components
引入 QtQuick,主要面向手机平台。
- 为提供基本 UI 组件(如 Titlebar、List items、Buttons 等),推出 Qt Quick Components 项目。
- 同时期,桌面风格的组件( qml components for desktop )也起步,当时仓库地址为 http://qt.gitorious.org/qt-components/desktop。
Qt 5.0(2012 年发布):qtdesktopcomponents
试验性项目 qtdesktopcomponents 被引入,当时仓库地址为 https://git.gitorious.org/qtplayground/qtdesktopcomponents.git。
Qt 5.1(2013 年发布):Qt Quick Controls(1)
Qt Quick Controls 正式发布(后被称为 Qt Quick Controls 1)。
提供了一套基于 QWidget 和 QStyle 的 UI 控件,支持桌面平台的 native 风格。
Qt 5.5(2015 年发布):Qt Quick Extra
引入 Qt Quick Extra(前身为 Qt Quick Enterprise Controls),提供企业级的额外控件。
Qt 5.6(2016 年发布):QtLabsControls
QtLabsControls(即 Qt Quick Controls 2 的预览版)发布。 项目初衷是为嵌入式和性能敏感的场景设计一套更轻量化、现代化的 QML 控件。
Qt 5.7(2016 年发布):Qt Quick Controls 2
Qt Quick Controls 2 正式发布。
优势: * 彻底摆脱了 QWidget 和 QStyle,基于 Qt Quick 的场景图(Scene Graph)实现,性能更高。 * 引入了 Material、Universal 等现代化样式,轻量化且适合嵌入式设备开发。
Qt 5.12(2018 年发布):废弃 Qt Quick Controls(1)
Qt Quick Controls 1 被标记为 废弃(Deprecated)。
官方建议开发者迁移到 Qt Quick Controls 2,后者在功能、性能和样式上都已成熟。
Qt 6.0(2020 年发布):移除 Qt Quick Controls(1)
- Qt Quick Controls(1)被 完全移除,不再支持。
- Qt Quick Controls 2 成为唯一支持的控件模块。
Qt 6.2(2021 年发布)
Qt Quick Controls 2 的实现代码移入 qtdeclarative 模块,进一步简化模块依赖并优化架构。
Qt Quick历史
顺便放上
- Qt4.7,QtDeclarative(QtQuick)被正式引入。包括基于QtScript的qml语言和在QGraphicsView之上构建的模块QtDeclarative。
- Qt5.0,全新的基于OpenGL的 QtQuick 被引入,qml也基于被称为v8的javascript进行了重构;该QtQuick称为QtQuick2,而Qt4.7中引入的老的QtDeclarative被称为QtQuick1。
- Qt5.2,由于性能原因,V8被Qt自己的V4/V4VM取代。
- Qt5.5,QtQuick1、QtWebkit和QtScript一块被废弃。
- Qt5.6中,QtQuick1被移除。
- Qt5.12,引入qrhi 渲染硬件接口(Rendering Hardware Interface)。
- Qt6.0,默认切换到qrhi
参考
- https://github.com/qt/qtquickcontrols2/tree/6.1
- https://blog.qt.io/blog/2010/09/10/building-the-future-reintroducing-the-qt-quick-components/
- https://blog.qt.io/blog/2011/03/10/qml-components-for-desktop/
- https://blog.qt.io/blog/2012/06/06/desktop-components-for-qt-5/
- http://blog.qt.io/blog/2015/03/31/qt-quick-controls-for-embedded/
- http://blog.qt.io/blog/2015/11/23/qt-quick-controls-re-engineered-status-update/