首先说说为什么要学习QT
(一是因为牛叉的跨平台特性将来方便移植到嵌入式,
而是本身自己学过c过度到c++比较容易,
所以就选择了)
Qt是诺基亚开发的一个跨平台的C++图形用户界面应用程序框架。它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。Qt是完全面向对象的,很容易扩展,并且允许真正地组件编程。
基本上,Qt 同 X Window 上的 Motif,Openwin,GTK 等图形界 面库和 Windows 平台上的 MFC,OWL,VCL,ATL 是同类型的东西,但是 Qt 具有下列优点:
优良的跨平台特性: Qt支持下列操作系统: Microsoft Windows 95/98, Microsoft Windows NT, Linux, Solaris, SunOS, HP-UX, Digital UNIX (OSF/1, Tru64), Irix, FreeBSD, BSD/OS, SCO, AIX, OS390,QNX 等等。
面向对象 Qt 的良好封装机制使得 Qt 的模块化程度非常高,可重用性较好,对于用户开发来说是非常 方便的。 Qt 提供了一种称为 signals/slots 的安全类型来替代 callback,这使得各个元件 之间的协同工作变得十分简单。
丰富的 API Qt 包括多达 250 个以上的 C++ 类,还替供基于模板的 collections, serialization, file, I/O device, directory management, date/time 类。甚至还包括正则表达式的处理 功能。
支持 2D/3D 图形渲染,支持 OpenGL
大量的开发文档
XML 支持
QT安装
安装的好坏直接影响将来的开发进度
比如莫名其妙的出错,找不到插件扩展文件夹,获取不到帮助等
所以第一步的安装就应该做好
linux下我用的是ubuntu10.04 很多人使用命令模式安装的,我则直接用界面模式在ubuntu软件中心通过鼠标点击傻瓜化安装的
当然这个是要安装好几个软件的包括qt创造器(creator),qt设计器(desinger),qt帮助,qt工具(tools),其中创造器包含了设计器的功能,但还是下载吧。
安装好之后,找个例子程序在创造器里面测试一下吧,然后试试帮助功能是否可以用
windows下安装:最简单的就是去qt官网下载安装sdk集成版的,或者像我一样先安装creator,然后安装qt4.7.3mingw(会提醒你安装一个叫mingw的软件,那就下载安装吧)
第二部也很重要修改系统的path变量,并添加两个变量具体操作看博客相应文章即可
学习资料:
qt网上比较好的资料有三本,在百度文库都能找得到的分别是,
1,——Qt入门教程 详细讲解(讲了如何做一个游戏软件)版http://wenku.baidu.com/view/0535b38002d276a200292e0d.html
2,—–qt+creator教程(入门到精通)
http://wenku.baidu.com/view/e94b61eb6294dd88d0d26b9c.html
3,c++ gui QT4 第二版的书籍网上也有pdf的,建议自己买一本真的很好的书
4,qt在线帮助 中文http://www.kuqin.com/qtdocument/classes.html
5, 國內論壇 http://www.qtcn.org/bbs/thread-htm-fid-89.html
学习内容:
就我而言想用的功能最主要是
硬件通信开发(RS232,USB)
数据相关的(文件,数据库,xml)
其他的算是辅助知识比如界面部件使用,布局,图形图像,事件处理,多线程等
开发方式:
代码模式:全代码编程,可以更了解qt的执行机制,包括自定义函数的位置,自定义类的编写和实现等对深入qt很有帮助,但是难度高
可视化模式:和vb差不多,先安排部件布局,然后修改添加一些功能代码即可,必要时自己设计一些类
问题解决:
1,qt的帮助文件可以解决很多的问题,前提是你能看懂
2,手边最好有本好的参考书
2,网络求助 百度google csdn 等等
感悟:
qt是把c++的类用到了极致
如果类的隐藏性,继承性,多态性你还不是很了解,那就赶快再复习复习吧
因为几乎每一个部件都涉及到了继承 派生或者说是多态
而我们的自定义函数也就是添加到派生类的多态里面的
网络上的QT 源代码实例
http://www.cnblogs.com/hnrainll/archive/2011/05/24/2054974.html
QT 在綫博客達人(陸續添加中)
http://devbean.blog.51cto.com/448512/267435
http://blog.csdn.net/joliny/article/category/483651
http://topkung.blog.163.com/blog/static/105268043200911792028625/
http://www.cunyoulu.com/zhuanti/qtstudy/
http://konglingchun.is-programmer.com/
http://www.cnblogs.com/xmphoenix/archive/2011/11/02/2233435.html#2233893
http://caterpillar.onlyfun.net/Gossip/Qt4Gossip/Qt4Gossip.html
http://blog.csdn.net/hufeng825/article/details/5748774
動畫 滑動 狀態機
http://blog.csdn.net/zhaoyihui888/article/details/4796065
http://blog.sina.com.cn/s/blog_6cf525b10100o4fs.html
http://blog.csdn.net/lqrensn/article/details/5091130
動畫 滑動 狀態機
http://blog.sina.com.cn/s/blog_6cf525b10100o4ew.html
http://www.cnblogs.com/hicjiajia/archive/2011/01/19/1939507.html
QT达人博客:
http://www.cunyoulu.com/zhuanti/qtstudy/
http://devbean.blog.51cto.com/448512/d-8/p-4
http://chenboqiang.blog.51cto.com/1068057/d-7
官方网站/社区:
http://mail.ustc.edu.cn/~tyli/ebook/qt4/index.html
社区:
国内有名的
http://qtcn.org/bbs/thread-htm-fid-17-type-780.html
国外