陆文周. Qt 5 开发及实例. ISBN: 978-7-121-26044-5
这是一本讲 Qt 编程框架的书。所谓编程框架,就是一组已经写好的程序的集合。这些程序共同实现某个领域内的常用功能,你可以基于这些功能方便地开发出自己需要的程序。而 Qt 这个框架,主要实现的就是桌面窗口程序的开发功能,顺便给 C++ 补充了字符串库,网络库,文件读写库等现代编程语言标准库必备的功能。
一般来说一个编程框架往往会指定一门或者几门编程语言。例如 Qt 最初仅支持 C++ 编程。后来也有了 Python 的绑定。但是,框架和语言并不拘泥于具体的语言。理论是只要做好绑定,一个框架可以被任何语言使用。所以,学 C++ 和学 Qt 其实是两回事。
另一方面,虽然编程语言主要负责提供基本的程序描述方法,框架主要负责提供基础功能,但是框架往往也能体现一定的逻辑描述功能。也就是说,框架也可以体现编程范式。例如 C++ 的基础语法本身是命令式编程。但是 STL 和 Qt 却可以以一种近似函数式的方式处理线性表。
最后说回到这本书和 Qt。就我的知识范围而言,这本书讲的 Qt 是比较全面的。由于我只是简单了解一下 Qt 并不打算多写它,所以这本书就足够了。也不想再花钱去买其他书对比——就连这本书也是我收拾屋子时候找到的同学买的书。至于 Qt,虽然它在国内有很大的市场。但我觉得它是有以下问题的:
- 太追求大而全面,企图把一切和窗体编程有关的东西都囊括进去。没有做好模块化分包。因此永远被定位成窗体程序框架,很难往更广泛的方向走。
- 使用预编译器写代码然后翻译成 C++,把原本复杂的 C++ 搞得更加复杂。
- 技术迭代有点落伍。默认的 Qt 窗口声明方式其实是 WinForm 式的。直到 QML 才勉强赶上XAML。而现在大环境是桌面窗体程序在走下坡路,移动端、 Web 端分走了大量原本桌面端的需求,同时创造了很多更好用的前端技术。
求点赞,求收藏,求分享
欢迎关注我的公众号,微信搜索:知则