欢迎来到天天文库
浏览记录
ID:12742962
大小:1.11 MB
页数:47页
时间:2018-07-18
《qt_学习之路(黑山老妖)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Qt学习之路《Qt学习之路》文档说明版本V1.0版权所有文件状态:[]草稿[]正式发布[√]正在修改文件标识:Qt学习之路当前版本:1.0作者:黑山老妖完成日期:2010-8-2547撰稿人:黑山老妖创建日期:2010-8-25Qt学习之路版本历史版本/状态作者参与者起止日期备注草稿黑山老妖2010-8-25文档创建47撰稿人:黑山老妖创建日期:2010-8-25Qt学习之路目录1.第一章引言(二号)41.1.文档目的41.2.文档范围41.3.读者对象41.4.参考文档41.5.术语与缩写解释42.第二章前言43.第三章Hello,World!54.第四章Hello,World!(
2、续)115.第五章初探信号和槽136.第六章组件布局147.第六章API文档的使用178.第七章创建一个对话框(上)189.第八章创建一个对话框(下)2010.第九章深入了解信号和槽2311.第十章Meta-Object系统2512.第十一章MainWindow2613.第十二章菜单和工具条2814.第十三章菜单和工具条(续)3115.第十四章状态栏3516.第十五章Qt标准对话框之QFileDialog3717.第十六章Qt标准对话框之QColorDialog3918.插曲parent参数4019.第十七章Qt标准对话框之QMessageBox4120.第十八章Qt标准对话框之QI
3、nputDialog4421.附录A:标题(二号)4622.附录B:标题(二号)4747撰稿人:黑山老妖创建日期:2010-8-25Qt学习之路1.第一章引言(二号)1.1.文档目的借鉴他人走过的路,快速学习Qt。1.2.文档范围1.3.读者对象1.4.参考文档原文引自:http://www.qteverywhere.com/learnqt1.5.术语与缩写解释2.第二章前言Qt是一个著名的C++库——或许并不能说这只是一个GUI库,因为Qt十分庞大,并不仅仅是GUI。使用Qt,在一定程序上你获得的是一个“一站式”的服务:不再需要研究STL,不再需要C++的,因为Qt
4、有它自己的QString等等。或许这样说很偏激,但Qt确实是一个“伟大的C++库”。我们所使用的Qt,确切地说也就是它的GUI编程部分。C++的GUI编程同Java不同:GUI并不是C++标准的一部分。所以,如果使用Java,那么你最好的选择就是AWT/Swing,或者也可以使SWT/JFace,但是,C++的GUI编程给了你更多的选择:wxWidget,gtk++以及Qt。这几个库我都有接触,但是接触都不是很多,只能靠一些资料和自己的一点粗浅的认识说一下它们之间的区别(PS:更详尽的比较在前面的文章中有)。首先说wxWidget,这是一个标准的C++库,和Qt一样庞大。它的语法看上
5、去和MFC类似,有大量的宏。据说,一个MFC程序员可以很容易的转换到wxWidget上面来。wxWidget有一个很大的优点,就是它的界面都是原生风格的。这是其他的库所不能做到的。wxWidget的运行效率很高,据说在Windows平台上比起微软自家的MFC也不相上下。47撰稿人:黑山老妖创建日期:2010-8-25Qt学习之路gtk++其实是一个C库,不过由于C++和C之间的关系,这点并没有很大的关系。但是,gtk++是一个使用C语言很优雅的实现了面向对象程序设计的范例。不过,这也同样带来了一个问题——它的里面带有大量的类型转换的宏来模拟多态,并且它的函数名“又臭又长(不过这点我倒
6、是觉得无所谓,因为它的函数名虽然很长,但是同样很清晰)”,使用下划线分割单词,看上去和Linux如出一辙。由于它是C语言实现,因此它的运行效率当然不在话下。gtk++并不是模拟的原生界面,而有它自己的风格,所以有时候就会和操作系统的界面显得格格不入。再来看Qt,和wxWidget一样,它也是一个标准的C++库。但是它的语法很类似于Java的Swing,十分清晰,而且SIGNAL/SLOT机制使得程序看起来很明白——这也是我首先选择Qt的一个很重要的方面,因为我是学Java出身的。不过,所谓“成也萧何,败也萧何”,这种机制虽然很清楚,但是它所带来的后果是你需要使用Qt的qmake对程序
7、进行预处理,才能够再使用make或者nmake进行编译。并且它的界面也不是原生风格的,尽管Qt使用style机制十分巧妙的模拟了本地界面。另外值得一提的是,Qt不仅仅运行在桌面环境中,Qt已经被Nokia收购,它现在已经会成为Symbian系列的主要界面技术——Qt是能够运行于嵌入式平台的。以往人们对Qt的授权多有诟病。因为Qt的商业版本价格不菲,开源版本使用的是GPL协议。但是现在Qt的开源协议已经变成LGPL。这意味着,你可以将Qt作为一个库连接到一个
此文档下载收益归作者所有