1,简介
QT是什么?它能做什么?
Qt是一个1991年由Qt Company开发的跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器。
简单来说,QT可以很轻松的帮你做带界面的软件,甚至不需要你投入很大精力。
QT学习需要避免的坑
QT分为4.0版本和5.0版本他们之间的差别很大,不通用!!!不通用!!!不通用!!!所以要么你学习4.0要么你学习5.0,个人建议直接学习5.0,因为现在大部分的公司都转向了5.0,毕竟5.0支持的特性越来越多。4.0版本主要使用于嵌入式开发,如果你需要你可以学。4.0版本主要使用4.7及4.8版本。5.0主要使用5.7及以上版本。
2,开始熟悉Qt
下面的PPT简单介绍了Qt是什么、发展历史和现状、Qt适合做什么、一些使用Qt开发的案例。
还有Qt主要包含哪些知识点,以及推荐了一些学习的资料、博客、社区。
《Qt入门介绍》PPT课件
3,学习流程
如果你希望开始学习写程序,却不知道该从哪里开始学习。
不要着急,先找一份教程熟悉创建窗口、控件的基本方法,这样的教程网上很多,
熟悉一个基本Qt程序的创建过程和运行效果。
然后对几个常用的控件,使用使用。
一般像按钮(QPushButton)、文本(QLabel)、编辑框(QLineEdit)、单选按钮(QRadioButton)、复选按钮(QCheckBox)。
给这些控件添加一些信号槽,比如点击,然后操作感受下效果。
对于控件是用代码写,还是使用Qt的UI设计工具,
我的建议是,刚开始先用代码写上几次,用来熟悉常用的几个控件的常用设置接口,之后尽量使用Qt的UI设计器,因为简单高效。
然后重点练习下采用各种布局来对窗口、控件进行排布。
水平布局、垂直布局、栅格布局,就这几种简单的布局通过各种组合可以创造出非常复杂却美观的界面。
Qt的UI设计器是目前我见过的C++界面库里最好用的,能非常简单高效地完成各种界面排布。
当你能比较熟练地对窗口、控件进行布局时,这时候可以开始考虑实现一个简单的功能了。
由一个强烈的明确的目的来驱动你去探索相关的知识,这样学得的印象是非常牢的,并且能获得成就感,不觉枯燥。
比如现在我们做个简单计算器,最简单那种就是加减乘除。
运用你现在掌握的控件和布局知识,参考计算器的图片来排布一个界面,然后写一些响应。
简单控件运用的熟练了,可以开始研究下复杂控件。
比如列表(QListView)、表格(QTableView)、树(QTreeView)。
这种控件需要熟悉添加数据的方法,以及常用的操作,比如选中、单击、右键菜单等
可以参考下我的系列文章《QTreeView使用总结》的前面几篇基础性的文章
QTreeView使用总结–序
这时候就可以做点复杂点的demo了,带数据展示效果的,比如一个简易的XX信息管理系统,用表格或树展示信息
这期间,会自然而然使用到Qt的一些数据结构、集合类
比如QList、QVector、QMap等,这些数据结构查查资料,用法非常简单。
如果你之前用过stl,那它有stl同样的操作方式,极易上手。
当然它还有另外很多只有你想不到没有它做不到的方便接口。
同时,你可以选择把信息以文件或数据库的形式管理起来
这时候,你可以研究研究Qt的文件接口
QFile、QDir等几个简单的类,能做各种和文件相关的事情,接口也是非常易懂
数据库可以先研究下用小型的sqlite,如果不懂sql语言,那可得补习下。
然后呢,你可以学习下Qt的QPainter绘图,它可以让你根据自己喜好或功能定制控件,
或者像我一样,在初学Qt两个星期时,直接用绘图一口气连续开发了几个常见的小游戏,
什么俄罗斯方块、中国象棋、五子棋、扫雷等
大大激发了学习兴趣,增强了自信心
我认识一个厉害的Qter,潜心研究各种定制控件,实现各种炫目的功能,不亦乐乎
自绘技术学习过程,会接触各种和显示相关的类
比如位置相关的:QRect、QPoint…
图片:QPixmap、QImage
绘制:画刷QBrush、画笔QPen、颜色QColor、字体QFont
除了自绘,想要美化界面,更有效的办法是使用qss样式表
这个就比较有讲究了,而且效果好坏还看你的审美
不过语法还是很简单的,用的时候去网上找找修改为自己需要的即可
前面忘说了,程序写好了需要调试,要学习下调试的方法
一般有调试运行、打输出、打日志等等调试办法
项目里日志是比较有用的东西,经常使用,不可能在客户那里调试
项目里软件往往也会有各种配置,因此xml、ini的读写也需要掌握
普通界面程序写的差不多了,需要试试多线程的程序,Qt的多线程写法比较独特,需要些功夫熟悉下
另外网络也是个老大难,尝试由简到难,参考例子慢慢琢磨,这个东西只有自己多查查资料才能摸清楚那些坑
至此,一个基本的QWidget框架的入门学习流程就差不多了,常见的知识点基本涵盖。
还有个图形视图框架,对一些场合比较有用,由于我用的少,暂不介绍。
这期间,多以某个具体功能的小项目为目标,在实现的过程中围绕着这个小目标去探索涉及到的知识点。
做到为用而学、学以致用,这样记忆深刻。
并且能积累大量实战经验,增强解决问题的能力和自信心。
4,参考学习资料
推荐书:《QT5开发及实例》
博客: 《Qt 实战一二三》《Qt学习之路2》
论坛:CSDN、QTCN
Qt各版本下载地址:http://www.qtcn.org/bbs/read-htm-tid-1075.html
实战项目参考:(含源码)
https://blog.csdn.net/dpsying/column/info/13973