C++
文章平均质量分 93
女儿叫老白
拥有20年C++跨平台(Qt)软件研发及多年团队管理经验。致力于创造高质量的软件产品。
展开
-
C++串口通信入门
本页面用来收集学习意愿数据,如果给您带来不便,我们表示歉意。课程进度: 设计(当前阶段) -录制 -发布 《C++串口通信入门》课程主要涉及如下内容: -------------------------------------------------------------------------------1,串口通信基础知识、应用场景等。【未完成】2,RS232串口线的制作、准备。【未完成】3,C...原创 2020-12-25 11:12:37 · 1321 阅读 · 1 评论 -
4.6 案例10 使用QList处理数据集
版权声明---------------------------------------------------------------------------------------------------------------------该文章原创于Qter开源社区(www.qter.org)作者: 女儿叫老白转载请注明出处!---------------------...原创 2018-11-07 17:43:59 · 728 阅读 · 0 评论 -
4.5 案例9 使用QVector处理数组
版权声明---------------------------------------------------------------------------------------------------------------------作者: 女儿叫老白转载请注明出处!------------------------------------------------------...原创 2018-11-07 17:42:52 · 1673 阅读 · 0 评论 -
4.4 案例8 用qDebug()输出信息
本案例对应的源代码目录:src/chapter04/ks04_04。在开发C/S(Client/Server,客户端/服务端)模式的软件时,服务端程序(有时也称作服务)经常运行在两种模式下。(1)终端模式。终端模式,也可称作命令行模式。在这种模式下,服务端程序占用终端(命令行)运行,用户既可以看到服务端程序向终端输出的信息,也可以在终端输入命令以调整程序的行为。(2)后台模式。后台模式就是Windows的服务模式(在Linux、Unix下也有服务模式)。在这种模式下,服务端程序以后台服务原创 2020-12-23 10:13:02 · 1830 阅读 · 0 评论 -
4.3 案例7 QString的6个实用案例
本案例对应的源代码目录:src/chapter04/ks04_03。Qt提供了大量的类来支撑跨平台软件研发工作,这给软件开发人员带来了极大的便利。但在进行服务端开发时,不建议使用Qt类库,因为引入Qt类库将使运行程序的体积变得较大。在进行服务端开发时最好使用软件开发组织自己写的类库或者使用一些比较轻便小巧的第三方跨平台类库,而仅仅把Qt用来制作服务端项目的pro文件。从本节开始,将选择Qt的几个常用类进行讲解。字符串处理是跨平台界面编程时经常碰到的场景,所以本案例介绍Qt的字符串处理类QString。原创 2020-12-23 10:09:28 · 542 阅读 · 1 评论 -
4.2 知识点 使用命名空间
本案例对应的源代码目录:src/chapter04/ks04_02。无论是进行项目研发还是产品研发,都不可避免会碰到重名问题:头文件重名、模块名重名、类或结构体重名、接口重名、全局变量重名等等。对于头文件名重名和模块名重名的情况,软件开发组织需要制定软件研发管理规范进行制度上的约束,而且还要建立专门的组织进行落地管理。解决类重名、接口重名、全局变量重名问题的方法也很简单:使用命名空间进行管理。本节将介绍如何在Qt开发中使用命名空间。在4.1节介绍了怎样开发一个DLL,本节在4.1节的基础上增加命名空原创 2020-12-23 10:07:43 · 523 阅读 · 0 评论 -
4.1 案例6 开发一个DLL(Dynamic Link Library动态链接库)
本案例对应的源代码目录:src/chapter04/ks04_01。程序运行效果见图4-1。图4-1 案例6运行效果在软件项目开发过程中会不可避免地碰到代码复用问题,比如,在项目A中实现的功能也会在项目B中使用。这时就可以把重复的功能封装到DLL模块中。那么,用Qt怎样开发DLL呢?利用Qt开发DLL,大概分为两大步:封装DLL,使用DLL。下面介绍具体步骤。(1)将DLL中引出类的头文件移动到include目录。(2)在DLL的pro文件中定义宏。(3)编写DLL引出宏的头文件原创 2020-12-23 10:06:15 · 320 阅读 · 0 评论 -
3.1 案例5 怎样实现国际化
本案例对应的源代码目录:src/chapter03/ks03_01。程序运行效果见图3-1。图3-1 案例5运行效果Qt提供的方案其实也很简单:显示文本时调用特定的翻译接口,然后需要开发者提供一个中英文对照的qm文件(二进制翻译文件),最后在程序启动时加载这个翻译文件。下面介绍具体步骤。(1)在ui界面或代码中使用英文。(2)在提供翻译的类中编写Q_OBJECT宏。(3)在pro文件中添加TRANSLATIONS配置。(4)使用lupdate命令,提取待翻译内容到ts文件。(原创 2020-12-23 10:01:29 · 363 阅读 · 0 评论 -
2.5 知识点 pri文件有啥用
当进行中大型Qt项目研发时,在各个子项目的pro文件中经常会出现重复配置。为了处理这个问题,Qt提供了另外一个项目配置文件:pri文件。在pri文件里,可以编写用于各个子项目的公共变量,还可以配置各种公共的编译选项、配置各种公共路径。本节将以常用关键字(见表2-3)为线索,介绍pri文件的各种用途。表2-3 pro和pri文件常用关键字 关键字(或关键字类型) 含义 include 在pro中引入某pri文件原创 2020-12-23 09:59:26 · 2037 阅读 · 0 评论 -
2.4 知识点 pro文件常用配置
前面的章节通过几个案例介绍了pro文件的基本配置,本节来看一下pro文件的一些常用配置。1.EXE还是DLL---TEMPLATE用C++语言开发的程序一般有两种存在形式:EXE程序、DLL程序。那么这在Qt中由什么决定呢?现在介绍一下TEMPLATE配置项,该配置项用来确定生成的程序是EXE还是DLL(见表2-1)。表2-1 TEMPLATE配置项取值说明 配置项内容 说明 TEMPLATE = app 表示本项目生成一原创 2020-12-23 09:57:32 · 975 阅读 · 0 评论 -
2.3 案例3 加点料-增加一张图片
本案例对应的源代码目录:src/chapter02/ks02_03。程序运行效果见图2-21。图2-21 案例3运行效果既然要进行界面编程,自然离不开图片。如果认为在按钮上使用文字太枯燥了,那么使用图标是不是会更好呢?本节讨论一下如何在Qt项目中使用图片。既然要用图片,自然离不开图片文件啦。那么图片在哪里找呢?百度!相信是很多人的第一反应。但是,从网上找到的图片在用Qt进行加载时可能会失败(原因待查,未深究),而且可能导致版权问题。所以,从网上找图片的办法不太靠谱。有规模的软件公司一般都会请原创 2020-12-23 09:55:07 · 235 阅读 · 0 评论 -
2.2 案例2 整理一下目录吧
本案例对应的源代码目录:src/chapter02/ks02_02。程序运行效果见图2-11。图2-11 案例2运行效果使用Qt进行开发的目的之一是开发界面类应用。本节将介绍用Qt开发界面类应用的基本步骤,并介绍如何通过修改pro文件的配置使源代码目录保持整洁。开发界面类项目的过程大概分为四步。(1)使用Designer绘制对话框资源文件(ui)并保存。(2)编写界面ui对应的类CDialog。(3)将相关文件添加到pro。(4)使用CDialog定义对象。下面分步骤..原创 2020-12-23 09:46:34 · 282 阅读 · 0 评论 -
《Qt 5/PyQt 5实战指南》目录
----------------------------------------------------------------------------------------------------------------------------网页版课程源码提取码:1uy7 ----------------------------------------------------...原创 2018-10-10 20:59:57 · 4128 阅读 · 3 评论 -
C++知识点分享005类、函数、变量的声明与定义
微信公众号: 星点课堂新浪微博:女儿叫老白网易云课堂:女儿叫老白------------------------------------------------------------------------------- 请养成习惯,定义类时,先写上一对大括号和结尾的“;”,然后再写类的定义的其他部分。如下: class CMyClass{}; 从其他...原创 2018-09-02 23:29:42 · 187 阅读 · 0 评论 -
C++老鸟日记027 重载、覆盖、隐藏
微信公众号: 星点课堂新浪微博:女儿叫老白网易云课堂:女儿叫老白网易云课堂免费课程:《C++跨平台开发中的编译错误》网易云课堂免费课程:《C++老鸟日记》----------------------------------------------------------------------------(chapter 7 PPT)引言:-------------...原创 2018-09-20 11:33:29 · 162 阅读 · 0 评论 -
C++老鸟日记037 运算符重载
版权声明-------------------------------------------------------------------------------该文章原创于Qter开源社区(www.qter.org)作者: 女儿叫老白 (白振勇)转载请注明出处!--------------------------------------------------------...原创 2018-10-02 11:19:27 · 154 阅读 · 0 评论 -
C++老鸟日记033 static两种基本含义
版权声明---------------------------------------------------------------------------------------------------------------------该文章原创于Qter开源社区(www.qter.org)作者: 女儿叫老白 (白振勇)转载请注明出处!------------------...原创 2018-09-26 16:09:23 · 201 阅读 · 0 评论 -
C++老鸟日记034 static之一二三
版权声明---------------------------------------------------------------------------------------------------------------------该文章原创于Qter开源社区(www.qter.org)作者: 女儿叫老白 (白振勇)转载请注明出处!------------------...原创 2018-09-27 11:51:27 · 254 阅读 · 0 评论 -
C++老鸟日记028 有关const的一点知识
版权声明---------------------------------------------------------------------------------------------------------------------该文章原创于Qter开源社区(www.qter.org)作者: 女儿叫老白 (白振勇)转载请注明出处!------------------...原创 2018-09-22 13:16:12 · 230 阅读 · 0 评论 -
C++老鸟日记029 你确定要使用宏吗?
微信公众号: 星点课堂新浪微博:女儿叫老白网易云课堂:女儿叫老白网易云课堂免费课程:《C++跨平台开发中的编译错误》网易云课堂免费课程:《C++老鸟日记》---------------------------------------------------------------------------- 引言:---------------------------...原创 2018-09-22 13:16:34 · 158 阅读 · 0 评论 -
C++老鸟日记035 引用与指针
原创文章,转载请注明出处。----------------------------------------------------------------------------引言:---------------------------------------------------------------------------- 在传递函数参数时,为了减少拷贝构造...原创 2018-09-28 18:16:59 · 146 阅读 · 0 评论 -
【转载】C++老鸟日记038 运算符重载之二三问
版权声明-------------------------------------------------------------------------------该文章原创于Qter开源社区(www.qter.org)作者: 女儿叫老白 (白振勇)转载请注明出处!原文链接:C++老鸟日记038 运算符重载之二三问--------------------------...原创 2018-10-10 21:04:04 · 163 阅读 · 0 评论 -
C++老鸟日记032 预处理宏并非一无是处
版权声明---------------------------------------------------------------------------------------------------------------------该文章原创于Qter开源社区(www.qter.org)作者: 女儿叫老白 (白振勇)转载请注明出处!------------------...原创 2018-09-25 16:46:20 · 162 阅读 · 0 评论 -
C++老鸟日记021 C++访问控制及其目的或作用
星点课堂提供,作者:女儿叫老白微信公众号: 星点课堂新浪微博:女儿叫老白网易云课堂:女儿叫老白网易云课堂免费课程:《C++跨平台开发中的编译错误》网易云课堂免费课程:《C++老鸟日记》----------------------------------------------------------------------------(5.1)引言:------...原创 2018-09-14 16:57:10 · 369 阅读 · 0 评论 -
C++老鸟日记026 聚合初始化的知识
版权声明---------------------------------------------------------------------------------------------------------------------该文章原创于Qter开源社区(www.qter.org)作者: 女儿叫老白 (白振勇)转载请注明出处!------------------...原创 2018-09-19 15:52:41 · 4109 阅读 · 0 评论 -
C++老鸟日记011 递归的含义及注意事项
微信公众号: 星点课堂新浪微博:女儿叫老白网易云课堂:女儿叫老白网易云课堂免费课程:《C++跨平台开发中的编译错误》-----------------------------------------------------------------------------递归在C++语言中不太常用。偶尔会碰到递归函数。简单来说,递归的含义是循环调用自己的函数,当然如果一直循环调用...原创 2018-09-08 18:24:25 · 315 阅读 · 0 评论 -
C++知识点分享009 C++中的C,掌握基本的语法、运算符及其优先级
微信公众号: 星点课堂新浪微博:女儿叫老白网易云课堂:女儿叫老白------------------------------------------------------------------------------- 说到C++中的C,我一下想到的就是extern C。用途是zaidll中声明一个动态引出接口,当程序运行时可以动态加载该dll,搜索其中的引出接口,并且进行...原创 2018-09-02 23:32:29 · 151 阅读 · 0 评论 -
C++知识点分享008 stl使用:string、iostream、vector、list、map
微信公众号: 星点课堂新浪微博:女儿叫老白网易云课堂:女儿叫老白------------------------------------------------------------------------------- 如果进行服务端编程,stl、poco等库都是不错的选择。我们今天分享一下stl部分类的使用。------------------------------...原创 2018-09-02 23:31:50 · 204 阅读 · 0 评论 -
C++知识点分享007程序的基本结构
微信公众号: 星点课堂新浪微博:女儿叫老白网易云课堂:女儿叫老白------------------------------------------------------------------------------- C++可执行程序(exe)的入口是main()函数,也就是说,我们用C++语言编写的任何可执行程序,都要具备main()函数。如果您使用MFC框架开发,那就...原创 2018-09-02 23:31:01 · 136 阅读 · 0 评论 -
C++知识点分享006 命名空间及使用
微信公众号: 星点课堂新浪微博:女儿叫老白网易云课堂:女儿叫老白------------------------------------------------------------------------------- 中型以上项目研发时,如果研发管理不善,很容易导致研发团队出现命名冲突的情况:应用程序名称冲突,比如都叫做edit.exe,或command.dl...原创 2018-09-02 23:30:20 · 180 阅读 · 0 评论 -
C++知识点分享004 理解编译过程
版权声明---------------------------------------------------------------------------------------------------------------------该文章原创于Qter开源社区(www.qter.org)作者: 女儿叫老白 (白振勇)转载请注明出处!------------------...原创 2018-09-02 23:29:02 · 125 阅读 · 0 评论 -
C++知识点分享003 基本的开发过程
版权声明---------------------------------------------------------------------------------------------------------------------该文章原创于Qter开源社区(www.qter.org)作者: 女儿叫老白 (白振勇)转载请注明出处!------------------...原创 2018-09-02 23:28:14 · 103 阅读 · 0 评论 -
C++知识点分享02 多态
版权声明---------------------------------------------------------------------------------------------------------------------该文章原创于Qter开源社区(www.qter.org)作者: 女儿叫老白 (白振勇)转载请注明出处!------------------...原创 2018-09-02 23:27:25 · 95 阅读 · 0 评论 -
C++ 知识点分享001 继承
版权声明---------------------------------------------------------------------------------------------------------------------该文章原创于Qter开源社区(www.qter.org)作者: 女儿叫老白 (白振勇)转载请注明出处!------------------...原创 2018-09-02 23:26:30 · 116 阅读 · 0 评论 -
c++跨平台开发中的编译错误
网易云课堂有一门免费课程《跨平台开发中的编译错误》。https://study.163.com/course/courseMain.htm?courseId=1005978003&share=2&shareId=400000000587023本课程属于:《C++跨平台开发干货系列教程目录》系列课程。下面是目录:目录章节1开讲之前课时1听课须知04:38课...原创 2018-09-02 16:24:47 · 1359 阅读 · 0 评论 -
C++老鸟日记015 动态存储分配、new、delete用法及注意事项、堆&栈
微信公众号: 星点课堂新浪微博:女儿叫老白网易云课堂:女儿叫老白网易云课堂免费课程:《C++跨平台开发中的编译错误》-----------------------------------------------------------------------------(4.1.1) 用C++语言开发时,大家都有一个痛点:自己管理内存。也就是自己要处理内存申请、...原创 2018-09-08 18:27:11 · 209 阅读 · 0 评论 -
C++老鸟日记016 为什么调用函数前需要进行函数声明
版权声明---------------------------------------------------------------------------------------------------------------------该文章原创于Qter开源社区(www.qter.org)作者: 女儿叫老白 (白振勇)转载请注明出处!------------------...原创 2018-09-08 18:27:44 · 1602 阅读 · 0 评论 -
C++老鸟日记013 显示类型转换
微信公众号: 星点课堂新浪微博:女儿叫老白网易云课堂:女儿叫老白网易云课堂免费课程:《C++跨平台开发中的编译错误》-----------------------------------------------------------------------------(3.8.3, 3.8.4) -- 枚举 enum在编程过程中,我们经常用到一些整数型常量,比...原创 2018-09-06 18:25:46 · 132 阅读 · 0 评论 -
C++老鸟日记31 有关内联函数你都知道啥
版权声明---------------------------------------------------------------------------------------------------------------------该文章原创于Qter开源社区(www.qter.org)作者: 女儿叫老白 (白振勇)转载请注明出处!------------------...原创 2018-09-24 20:14:49 · 165 阅读 · 0 评论 -
C++老鸟日记025 什么是重载,重载的目的是什么?
微信公众号: 星点课堂新浪微博:女儿叫老白网易云课堂:女儿叫老白网易云课堂免费课程:《C++跨平台开发中的编译错误》网易云课堂免费课程:《C++老鸟日记》----------------------------------------------------------------------------171-2引言:-----------------------...原创 2018-09-18 23:01:30 · 1687 阅读 · 0 评论