Qt初学者的一些学习方法、参考资料

article/2025/10/25 1:03:19

1,简介

最近有一些朋友加我,询问Qt入门学习的方法、资料
我基本都一一作答,根据情况给出了一些参考意见
感觉很多新手开始学习时很迷茫,不知道学习哪些方面、看什么资料
这里干脆写一篇文章,把自己的学习过程给大家介绍一下,包括一些对于学习的想法

2,开始熟悉Qt

如果你是完完全全的新手,刚开始学习Qt,那么推荐你先看一下我关于Qt的一篇入门介绍的PPT,
里面简单介绍了Qt是什么、发展历史和现状、Qt适合做什么、一些使用Qt开发的案例。
还有Qt主要包含哪些知识点,以及推荐了一些学习的资料、博客、社区。
能让你对Qt有一个大致的概念,减轻迷茫和恐惧。

PPT链接:https://pan.baidu.com/s/1kOICcupef4PYmIo1ZGKdqw
提取码:6v3c

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框架的入门学习流程就差不多了,常见的知识点基本涵盖。
还有个图形视图框架,对一些场合比较有用,由于我用的少,暂不介绍。

这期间,多以某个具体功能的小项目为目标,在实现的过程中围绕着这个小目标去探索涉及到的知识点。
做到为用而学、学以致用,这样记忆深刻。
并且能积累大量实战经验,增强解决问题的能力和自信心。

5,参考学习资料

推荐书:《QT5开发及实例》
博客: 《Qt 实战一二三》《Qt学习之路2》
论坛:CSDN、QTCN
QTCN有各版本Qt下载地址: www.qtcn.org

加入社群多与同道中人交流,分享知识经验,互相激励,也能增加学习效率。

Qt实战派学习群
群号码:1149411109
若满加2群:917341904

群内提供我的几乎所有博客源码、
各种优质Qt项目源码、
实用的Qt开发常用软件工具、
Qt电子书等学习资料

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述


http://chatgpt.dhexx.cn/article/IMhlgXV9.shtml

相关文章

Qt学习之C++基础

前言 用了大概2个月的时间,学了Qt,然后开发一个小项目,总的来说,在主机GUI程序中,相比Java的Swing和JavaFX,个人感觉Qt的界面设计更加简便一点,灵活性更高一些,然后下边就主要简述一…

Qt学习之Qt基础入门(中)

1. 前言 上一篇博客,总结了Qt的一些基础用法,这篇博客继续跟视频学习Qt的常用方法 Qt入门系列: Qt学习之C基础 Qt学习之Qt安装 Qt学习之Qt基础入门(上) Qt学习之Qt基础入门(中) Qt学习之Qt基础入门(下) 本文原创,创作不易&…

Qt学习之Qt基础入门(上)

1. 前言 上一篇博客,简单的介绍了一下C的面向对象编程,这篇博客就主要是用来入门Qt,废话不多说,开干! Qt入门系列: Qt学习之C基础 Qt学习之Qt安装 Qt学习之Qt基础入门(上) Qt学习之Qt基础入门(中) Qt学习…

qt基础入门教程

1、t的介绍、优点、成功案例 5.8.0 Qt是一个跨平台的C图形用户界面应用程序框架。它为应用程序开发者提供建立艺术级图形界面所需的所有功能。爸是完全面向对象的,很容易扩展,并且允许真正的组件编程。 推荐安装 wps linux 桌面环境 虚拟机软件 屏幕共…

Qt入门教程100篇(已完结)

😈「CSDN主页」:传送门 😈「Bilibil首页」:传送门 😈「CSDN学院」:传送门 😈「本文的内容」:Qt基础教程 😈「动动你的小手」:点赞👍收藏⭐️评论&…

QT入门看这一篇就够了——超详细讲解(40000多字详细讲解,涵盖qt大量知识)

目录 一、Qt概述 1.1 什么是Qt 1.2 Qt的发展史 1.3 Qt的优势 1.4 Qt版本 1.5 成功案例 二、创建Qt项目 2.1 使用向导创建 2.2 一个最简单的Qt应用程序 2.2.1 main函数中 2.2.2 类头文件 2.3 .pro文件 2.4 命名规范 2.5 QtCreator常用快捷键 三、Qt按钮小程序 …

QT入门到实战学习笔记

学习笔记 最新QT从入门到实战完整版|传智教育_哔哩哔哩_bilibili 目录 1.创建一个QT文件 1.1命名规范 1.2快捷键 2QPushButton创建 2.1防止汉语乱码 2.2对象树 2.3Qt窗口坐标体系 3信号和槽机制 3.1自定义信号和槽 3.1.1自定义信号: 3.1.2自定义槽&#…

pdflatex和xelatex的使用差别和建议

关于pdflatex和xelatex的区别的一些注意点 pdflatex 和xelatex分别是什么我遇到的一些问题 pdflatex 和xelatex分别是什么 pdflatex 和xelatex是latex编译中最常用的编译方式,而且效果一般都是比较好的。 PDFLaTeX命令:PDFTeX程序中的命令,用…

关于MAC解决jupyter中出现nbconvert failed/ xelatex not found on path报错

前言 开开心心的花了半个小时做完了2303的期中测试,结果在导出为pdf的时候提示我500错误,说明为nbconvert failed: xelatex not found on path,我当时就蒙了昂,不过还好考试时间是三个小时,还能浪浪,但是我…

【LaTex使用总结】LaTex,pdflatex,xelatex,xetex等的区别和关系

问题是这样产生的,从本科毕设开始接触LaTex起,使用现成的模板进行编译生成操作,一步步按指示操作也从未深究。 后来使用word较多,LaTex经常是简单模板,也渐渐对LaTex的细节不再感兴趣,近期又开始用LaTex撰写…

pyplot 使用 latex 报错:xelatex not found……

错误提示 发生异常: RuntimeError xelatex not found. Install it or change rcParams[pgf.texsystem] to an available TeX implementation. 原始参数: plt.rcParams.update({"pgf.texsystem": "xelatex","text.usetex": True,# u…

Winedt为什么可以用pdfLaTex编译中文(pdfLaTex和XeLaTex的使用)

文章目录 Winedt为什么可以用pdfLaTex编译中文查看Winedt的默认编译器: 1.XeLaTex和pdfLaTex的关系2.Winedt中使用pdfLaTex编译中文的tex3.原因4.验证 Winedt为什么可以用pdfLaTex编译中文 前言:如果你只是想用Winedt实现LaTex中英混排那么可以直接选择…

recipe terminated with fatal error: spawn xelatex enoent.

vscode配置latex的小问题 问题产生的原因是环境变量没有配置好。所以只需要把环境变量配置好就可以了。 1、 打开textlive安装的路径(…\textlive\2022\bin\win32),比如我的就是C:\texlive\2022\bin\win32 2、编辑环境变量: 编…

TeXstudio报错: fwrite: Broken pipe xelatex.exe

错误: 解决方法: 选项->设置TeXstudio 默认编译器换成PdfLaTex: 问题解决。

CTEX编译Xelatex以及如何更新Miktex

1.现在很多科研人员都喜欢用latex来写文章,主要是latex有了模板之后排版较简单,而且参考文献比较容易生成,不需要再去排版。本人自己比较喜欢使用CTEX,这个得看个人习惯使用吧。有很多同胞在使用CTEX 时可能会遇到无法编译Xelatex…

linux下latex使用教程,LaTeX使用--XeLaTeX入门基础(二)

主机平台:Gentoo Linux 11.2 内核版本:Linux Kernel 3.2.1 编译环境:XeTeX 3.1415926-2.3-0.9997.5 (TeX Live 2011) 相关阅读 主机平台:Gentoo Linux 11.2 内核版本:Linux Kernel 3.2.1 编译环境:XeTeX 3.…

TeXworks 设置成默认用XeLaTeX排版

TeXworks 设置成默认用XeLaTeX排版 在用Texlive2020中,自身自带的编辑器每次都是默认以pdfLaTeX的方式进行排版 因为pdfLaTex在排版中文的时候容易乱码和报错, 用XeLaTeX排版就不会,为了方便就将它设置为一打开编辑器就是以XeLaTeX 方式排版 一打开就是这样子 首先在编辑器页面…

解决XeLaTex编译后中文出现乱码的问题

最近想用LaTex做简历,但是在做中文简历的时候,出现乱码的情况,网上查了很多解决方法,最后成功解决了,在这里总结分享一下。 先建立一个tex文件,输入一下格式的文件,注意加入\usepackage{CTEX} …

Latex、XeLatex无法加粗

XeLaTeX是新的Unicode版本,内建支持Unicode(UTF-8),可以调用操作系统的字体。但是在使用的时候也可能会出现许多问题,例如我最近使用的时候字体就一直无法显示粗体,但是运行的时候不报错。 原因有可能是你的系统里面缺少模板指定…

配置中文XeLaTex环境

本人初始时懒人一键使用了CTex安装,但无奈写中文论文时版本太低不支持使用的模板,所以开始自行配置TexLiveWinEdtSumatraPDF的环境。【TeXworks个人觉得真的不太好用 其中使用TexLive时遇到的一些问题及解决方案如下: fontspec.cfg: Erroneo…