一、简介
最近有朋友加我询问Qt入门的方法和资料。
我基本上都是一一回答,并根据情况给出了一些参考意见。
我感觉很多新手刚开始学习的时候都会感到困惑。他们不知道该研究哪些方面、该看哪些资料。
这里我简单写一篇文章给大家介绍一下我的学习过程,包括一些学习的想法。
2.熟悉Qt
如果你是一个完全的新手,刚刚开始学习Qt,那么我建议你先阅读我关于Qt入门介绍的PPT。
简单介绍了Qt是什么,它的发展历史和现状,Qt适合什么,以及使用Qt开发的一些案例。
还包括Qt主要包含哪些知识点,推荐一些学习资料、博客、社区。
它可以让你对Qt有一个大概的了解,减少困惑和恐惧。
PPT链接:
提取码:6v3c
3. 学习过程
如果您想开始学习编程但不知道从哪里开始。
别着急,先找个教程来熟悉一下创建窗口和控件的基本方法。网上有很多这样的教程。
熟悉基本Qt程序的创建过程和运行效果。
然后将其用于几个常用的控件。
一般如按钮()、文本()、编辑框()、单选按钮()、复选按钮()。
给这些控件添加一些信号槽,比如点击,然后操作感受一下效果。
关于控件是应该用代码编写还是使用Qt的UI设计工具,
我的建议是一开始就多写几次代码,熟悉几个常用控件的通用设置界面,然后尝试使用Qt的UI设计器,因为它简单高效。
然后重点练习使用各种布局来排列窗口和控件。
水平布局、垂直布局、网格布局,这些简单的布局可以通过各种组合创建出非常复杂但美观的界面。
Qt的UI设计器是我迄今为止见过的最有用的C++界面库。它可以非常简单、高效地完成各种界面布置。
当您更加熟练地布置窗口和控件时,您可以开始考虑实现一个简单的功能。
强烈而明确的目的驱使你去探索相关知识,这样你所学的印象就会非常强烈,你会获得成就感而不感到无聊。
例如,现在让我们制作一个简单的计算器。最简单的是加、减、乘、除。
利用您当前对控件和布局的了解,使用计算器图像来布局界面,然后编写一些响应。
一旦熟练使用简单控件,就可以开始研究复杂控件。
例如,list()、()、tree()。
此类控件需要熟悉添加数据的方法和常用操作,如选择、单击、右键菜单等。
可以参考我的系列文章《使用总结》之前的基础篇
使用总结 – 前言
这时候你可以制作一个更复杂的带有数据展示效果的demo,比如一个简单的XX信息管理系统,使用表格或者树来展示信息。
在此期间,你自然会使用Qt的一些数据结构和集合类。
比如QMap、QMap等,这些数据结构用来查询数据非常简单。
如果您以前使用过stl,它的操作方法与stl相同,并且非常容易上手。
当然,它还有很多其他你想不到没有它的便捷接口。
同时可以选择以文件或数据库的形式来管理信息
这时候就可以研究一下Qt的文件接口
、QDir 等几个简单的类可以做各种与文件相关的事情,而且界面也非常容易理解。
可以先研究一下数据库,用一个小的。如果你不懂SQL语言,可以接受一些辅导。
然后,您可以学习Qt的绘图,它允许您根据自己的喜好或功能自定义控件。
或者像我一样,刚学Qt两周的时候,直接用画图一口气开发了几个常见的小游戏。
什么俄罗斯方块,中国象棋,五子棋,扫雷等等。
极大激发了学习兴趣,增强了自信心
我认识一个厉害的Qter,他致力于研究各种定制控件,实现各种眼花缭乱的功能。这是一种极大的乐趣。
在自绘画技术的学习过程中,我会接触到各种与展示相关的类别。
例如,与位置相关的:,...
图片:,
绘图:画笔、QPen画笔、颜色、字体
除了自绘之外,如果想要美化界面,更有效的方法就是使用QSS样式表
这个比较有讲究,效果取决于你的审美趣味。
然而,语法仍然非常简单。使用的时候只要上网修改成自己需要的就可以了。
我之前忘了提过。程序写好后,就需要进行调试。您需要学习如何调试它。
一般有调试、运行、输出、日志记录等调试方法。
日志是项目中比较有用的东西。它们使用频繁,无法由客户调试。
项目中的软件往往有各种配置,所以xml和ini的读写也需要掌握。
我差不多已经写出一个正常的界面程序了。我需要尝试一个多线程程序。 Qt的多线程编写方式比较独特,需要花点功夫去熟悉。
此外,互联网也是一个大问题。尽量从简单到困难,参考例子慢慢思考。这个东西的陷阱只有你自己多做研究才能弄清楚。
至此,一个基本框架的入门学习过程就差不多完成了,常用的知识点基本都覆盖了。
还有一个图形视图框架,在某些情况下更有用。由于我用的比较少,所以就不介绍了。
这期间的目标大多是针对一个具有特定功能的小项目,而在实施过程中,所涉及到的知识点都是围绕着这个小目标来探索的。
学以致用,学以致用,这样才能记住深刻。
并且可以积累大量的实践经验,增强解决问题的能力和自信心。
5.参考学习资料
推荐书籍:《QT5开发与实例》
博客:《Qt实战实践1、2、3》《Qt学习之路2》
论坛:CSDN、QTCN
QTCN有各种版本的Qt下载地址:
加入社区与他人多交流,分享知识和经验,互相鼓励也可以提高学习效率。
Qt实践学习群
组号:
如果添加 2 个组:
群里提供了我几乎所有博客的源码。
各种高质量的Qt项目源码,
Qt开发实用常用软件工具,
Qt电子书等学习资料