Qt 是一个跨平台的C++应用程序框架,支持Windows、Linux、Mac OS X、Android、iOS、Windows
Phone、嵌入式系统等。也就是说,Qt 可以同时支持桌面应用程序开发、嵌入式开发和移动开发,覆盖了现有的所有主流平台。你只需要编写一次代码,发布到不同平台前重新编译即可。
首先五星级推荐: 适合0基础学习Qt
Qt入门教程:1天玩转Qt(链接:http://c.biancheng.net/cpp/qt/)
使用 Qt 开发的程序:
WPS、YY语音、Skype、豆瓣电台、虾米音乐、淘宝助理、千牛、暴雪的战网客户端、VirtualBox、Opera、咪咕音乐、Google地图、Adobe
Photoshop Album 等。
但是,由于Android本身支持Java,iOS本身支持Objective-C和Swift,所以Qt 在移动端的贡献寥寥无几。
总起来说,Qt 主要用于桌面程序开发和嵌入式开发。
Qt 是一个C++类库。在Qt5之前,所有的开发都是基于 C++ 的,但到了 Qt5,QML 和 Qt Quick
成为了 Qt 的核心之一,导致很多读者在犹豫是否还需要学习 C++。
答:使用 QML 开发界面主要有以下几个优点:
- QML 非常灵活,可以做出非常炫酷的效果,例如 QQ、360、迅雷等都不在话下。
- QML 是标记语言,见名知意,非常容易编写和阅读,大大提高了开发和维护效率。
- QML 界面简洁大气,有很多动画,适合移动端。
- 不同平台下的 QML 使用相同的渲染机制,界面效果一致,不会随操作系统的不同而变化。
但是,现阶段新生的 QML 和 Qt Quick 还不如 Qt Widgets 那样拥有丰富的开发组件,尤其缺乏复杂的企业级应用程序所必须的树等控件。这就决定了至少现阶段,真正大型的桌面程序仍然只能选择以 Qt Widgets 为主、QML 和 Qt Quick 为辅的开发模式。
并且,使用 QML 会增加你的学习成本,你不但要习惯 QML 这种标记性语言,还要学习 JavaScript,甚至 CSS。
C++依旧是 Qt 的主要编程语言,Qt 5 也并没有忽略它,Qt 5 添加了很多新的 C++ API,而且会持续更新。引入 QML 和 Qt Quick,只是 Qt 5 提供的另外一种选择,并不是让它成为唯一的选择。
C++ 是 Qt 的基础,无论如何都要掌握。本教程先讲解 Qt Widgets 项目,夯实大家的基础,然后再过渡到 QML,并简单讲解 JavaScript。