从Qt到Android

这段时间,我系统的学习了C++ GUI编程之Qt,做了几个简单的Demo。用C++来编程确实很痛苦,要考虑很多很多细节上的问题。还好在Qt中已经提供了各种封装好的类库来方便GUI编程使用,Qt是实现了面向对象编程的一个框架。使得Gui编程时更像是Java,而不是像C++。Qt实现了界面和逻辑的分离,界面通过可视化控件的拖拽,本质也是生成XML文件,然后在Qt编译的时候将XML生成C++代码。那么界面中的控件如何相应事件呢,Qt是通过了SIGNAL和SLOT关联机制。原理是通过了宏来自动将控件和事件处理函数连接在一起,如何实现就不需要用户来思考了。

总的来说,Qt为了实现界面和逻辑分离,通过宏来自动完成了幕后的很多细节。当用户编程的时候,就能很清晰的将界面和逻辑分别编程,再关联在一起。但是因为C++本身的复杂性,还有编译型语言的特点,使得跨版本和跨平台并没有Qt宣传的那么方便。所以既然要GUI编程,选择C++这门语言来做实在是很痛苦。再学习了一段时间Qt后,我还是选择玩起了Android。相比之下,Android比Qt使用的范围要广的多,也流行的多。毕竟几亿台移动设备上使用的都是Android系统。还有最主要的好处是,Android使用的是Java来编程。Java比C++简单的多,就是写起来比较啰嗦。Qt使用了很多魔法来用C++面向对象编程,而Java天生就是面向对象编程的语言,天生就支持了反射。

现在,我轻松的学习着Android,享受着GUI编程的乐趣了。在学习过程中,我不断的将Android和Qt进行着比较,希望获得更多的感悟。

2017-05-07


上一篇: 2017新年新目标 下一篇: CryptoApp简介