- 博客(50)
- 资源 (1)
- 收藏
- 关注

原创 QtIFW学习
1. 构建Qt安装程序1.1. Qt应用程序结构1.2. 不同操作系统常用的打包工具1.2.1. 多平台 GUI 安装程序 跨平台安装工具1.2.2. windows1.2.3. Linux1.3. 静态库与动态库的区别2. 程序打包过程3. QtIFW 安装配置3.1. 下载安装对应版本,选择安装路径3.2. 配置环境变量3.3. 在QtCreatoer添加帮助文档3.4. 构建examples.pro可查看各个例子安装效果4. QtIFW 创建安装程序..
2021-08-26 00:01:44
3572
1

原创 c++设计模式详解
1. 设计模式分类2. 好的面向对象设计2.1. 三大面向对象机制2.2. 重构技法2.3. 软件设计需要解决的因素3. 设计原则4. 创建型模式4.1. 单例模式4.1.1. 简介4.1.2. 使用效果?优缺点?4.1.3. 使用时注意事项!4.1.4. 使用场景?业界知名例子4.1.5. 难点4.2. 工厂方法模式4.2.1. 简介4.2.2. 使用效果?优缺点?4.2.3. 使用场景?业界知名例子4.3. 抽象工厂模式4.3.1. 简介4..
2021-01-29 09:49:33
2875
原创 Qt项目入门
一个简单的项目该项目涉及tcp服务端客户端通信,数据库操作,Log4Qt日志打印,不过是关于工业与上位机的一个简单项目处理,过程不一定容易理解,附上通讯协议。
2022-05-26 11:08:19
582
1
原创 阿里云搭建ftp服务器+FileZilla客户端查看文件
文章目录1. 阿里云搭建ftp服务器1.1 安装ftp服务器1.2 设置阿里云ECS的安全组2. FileZilla客户端查看文件1. 阿里云搭建ftp服务器1.1 安装ftp服务器1、安装vsftp,sudo apt-get install vsftpd2、修改配置sudo vi /etc/vsftpd/vsftpd.conf 3、设置ftp服务开机自动启动,systemctl enable vsftpd.service4、启动ftp服务器,systemctl start vsftpd.ser
2022-03-05 14:44:59
1461
2
原创 CTK的编译(Qt5.12+MSVC2017_x64/MINGW64+CMake)
文章目录QtCreator下CMake配置MINGW64手动设置构建套件MSVC2017_x64手动设置构建套件CTK源码配置源码下载并在QtCreator中打开CMakeList.txtQt兼容性配置CTKData配置生成库相关的开关配置安装配置编译过程注意事项QtCreator下CMake配置CMake官网:https://cmake.org/download/在官网下载你想要的版本,如果选择的CMake版本不是安装版,是不会被自动检测出来,需要手动在QtCreator中【工具】—>【选项】
2022-02-15 11:49:14
1792
原创 typora + nodejs + gitbook安装
1.typora安装typora 下载地址:https://typora.io/2.node安装gitbook2.1 安装步骤gitbook是基于 nodejs,所以我们首先需要安装 nodejs, 下载地址:https://nodejs.org/en/download/默认安装即可,安装成功后需配置环境变量。gitbook命令行安装如下:gitbook init成功执行后会生成README.md 和 SUMMARY.mdREADME.md —— 书籍的介绍SUMMARY.md —— 书
2021-10-28 22:10:59
539
原创 Qt中使用httpServer框架
cpp-httplibgithub地址:https://github.com/yhirose/cpp-httplibcpprestsdkgithub地址:https://github.com/Microsoft/cpprestsdkhttppgithub地址:https://github.com/daedric/httpplibhttpservergithub地址:https://github.com/etr/libhttpserverQtWebApp官网:http://stefanfri
2021-08-29 12:57:44
1760
原创 python 多线程和多进程join()和daemon属性
使用 join()方法主进程等待该子进程结束才结束。没有使用 join()方法,主进程结束,子进程继续执行直到结束。daemo为True时称为守护进程,主进程结束,该子进程马上结束。daemo为False时称为非守护进程,主进程结束,子进程继续执行直到结束。举例import threadingimport timedef run(): time.sleep(2) print('当前线程的名字是: ', threading.current_thread().name) .
2021-08-19 18:26:29
322
原创 windows下QtCreator配置clang环境
1. 下载clang版本下载地址:https://github.com/llvm/llvm-project/releases/tag/llvmorg-12.0.0我选择的是LLVM-12.0.0-win64.exe,下载后安装,添加路径到环境变量,测试是否安装成功:2. Qcreator配置clangQtCreator 自动检测功能可以检测到clang,如果没有可以手动添加,如下图:注意vs2017环境一定要选x86_amd64,因为我选的clang版本是在CPU架构x86_64中构建的。
2021-07-08 15:12:21
5001
1
原创 vscode用conda配置Python虚拟环境
1. 到官网下载Anaconda2. 下载vscode中Python插件3. 以管理员身份运行vscode4. 利用conda创建python虚拟环境5. 在vscode中配置Setting.json添加Python路径6. 最后检验运行Python项目即可1. 到官网下载Anaconda官网连接:https://www.anaconda.com/distribution/#download-section选择Python3.7版本2. 下载vscode中Python插件vsco..
2021-06-24 16:26:18
10598
翻译 机器人坐标系
文章目录机器人坐标系基坐标系大地坐标系(世界坐标系)工具坐标系用户坐标系(工件坐标系)机器人坐标系机器人坐标系主要有四种:基坐标系大地坐标系(世界坐标系)工具坐标系用户坐标系(工件坐标系)基坐标系以机器人基座为基准点,坐标系遵循右手准则。大地坐标系(世界坐标系)以大地为参考的直角坐标系。大多数大地坐标系与基坐标系重合。不重合时会用到,在多个机器人联动的和带有外轴的机器人时会用到。不重合的情况:机器人倒装带外部轴的机器人工具坐标系以工具中心作为坐标系:Do
2021-06-24 16:14:36
4584
原创 Qt中的字符编码问题
从文件里读入一段文字到QByteArray,有的文字中文是GBK的,转成QStringtext = QTextCodec::codecForName(“GBK”)->toUnicode(ba);1有的文字中文是UTF8的,转成QStringtext = QTextCodec::codecForName(“UTF-8”)->toUnicode(ba);1但有时你又无法得知QByteArray中的文字编码到底是GBK还是UTF-8,所以不知道用哪个用下面的函数就好:#include
2021-06-24 14:55:36
384
原创 常用的软件协议
软件通常借助一些已开发好的框架,库再次开发成符合需求的软件产品,那么也要遵循对应的引用的软件协议。常用的软件协议,每个协议都有约束和规范:1.LGPL许可证:引用库的代码需开源,新增修改代码可不采用引用库的许可证,也不需要提供说明文档…2.Mozilla许可证:引用库的代码需开源,新增修改代码可不采用引用库的许可证,需要提供说明文档…3.GPL许可证:引用库的代码需开源,新增修改代码必须采用引用库的许可证4.BSD许可证:可闭源,引用库中被修改的代码需要放版权说明5.MIT许可证:可闭源,引用.
2021-05-14 17:24:32
2247
原创 qt 实现软件开机启动
qt开机启动方法主要是将软件和软件路径写入注册表中:仅对当前用户生效(推荐使用): HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run对所有用户生效,需管理员权限: HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run测试运行以下实现功能为:点击对应菜单项QAction actStartup实现软件开机启
2021-04-20 21:31:43
336
原创 QScintilla在QtCreator中构建并配置成模块
简介QScintilla 是 Scintilla 在 Qt 上的移植,Scintilla 是一个免费的源代码编辑控件。功能包括:代码高亮、代码补全、代码折叠、自动缩进、代码提示,断点,支持多语言,多样式等。著名的开源编辑器 SciTE 就是 Scintilla 开发者开发的。下载地址:https://riverbankcomputing.com/software/qscintilla/download里面有Windows、Linux 各系统 的源码:我选用的是 : QScintilla_src
2021-04-20 11:34:18
655
原创 Q_D宏和d指针
这种写法好处:为了更好地二进制兼容1.0版本生成dll,生成的二进制代码已经决定类、数据结构等的内存地址。当添加新内容生成1.1版本时,原来已经有的类、数据结构等再次生成的内存地址可能不一样。使用Q_D实现,再次编译生成1.1新版本时,原来已经有的类、数据结构等再次生成的内存地址可能一 样。这样,程序调用新版本的dl不会造成崩溃。隐藏自己的数据结构头文件中没有任何实现细节,提供给外部api调用者.h,.lib和.dll文件编程水平还没达到可以考虑内存的>_<这种写法缺点:
2021-04-19 15:51:49
137
原创 【c++11以后的特性】语言运行期的强化
1. Lambda表达式实际上是提供了匿名函数的特性,Lambda表达式的本质是一个和函数对象类型相似的类类型(称为闭包类型)的对象(称为闭包对象)。捕获列表:所谓捕获列表,其实可以理解为参数的一种类型,lambda表达式内部函数体在默认情况下是不能够使用函数体外部的变量的,这时候捕获列表可以起到传递外部数据的作用。捕获列表类型:1.值捕获 (捕获左值)2.引用捕获 (捕获左值)3.隐式捕获 []空 [name1,name2, …]捕获一系列变量 [=]值捕获,编译器简化处理
2021-04-11 16:15:27
131
原创 Qt Design Studio社区版安装与使用
Qt Design Studio社区版免费下载由于登录官网不能下载,找到镜像网站进行下载 : http://iso.mirrors.ustc.edu.cn/qtproject/official_releases/qtdesignstudio/2.0.0/qt-designstudio-windows-x64-2.0.0-community.exe
2021-02-18 16:25:06
6764
1
原创 编译原理笔记
编译原理编译器结构:(目标程序为汇编语言)[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3Pqw3vSF-1611891042529)(…/image/编译过程.jpg)]每个阶段将源程序从一种表示转换成另一种表示。随着编译器各个阶段的进展,源程序的内部表示不断地发生变化。词法分析器:字符流->单词流语法分析器:单词流->语法树语义分析器:收集标识符的属性信息:类型(Type)种属(Kind)存储位置、长度值作用域参数和返回
2021-01-29 11:34:13
205
原创 段错误的可能原因
Segmentation fault (core dumped)多为内存不当操作造成。空指针、野指针的读写操作,数组越界访问,破坏常量等。对每个指针声明后进行初始化为NULL是避免这个问题的好办法。排除此问题的最好办法则是调试。更为详细的原因:(1)内存访问越界a) 由于使用错误的下标,导致数组访问越界b) 搜索字符串时,依靠字符串结束符来判断字符串是否结束,但是字符串没有正常的使用结束符c) 使用strcpy, strcat, sprintf, strcmp, strcasecmp等字符串操作函
2021-01-29 10:27:12
710
原创 编程语言分类
静态语言(强类型语言)静态语言是在编译时变量的数据类型即可确定的语言,多数静态类型语言要求在使用变量之前必须声明数据类型。例如:C++、Java、Delphi、C#等。动态语言(弱类型语言)动态语言是在运行时确定数据类型的语言。变量使用之前不需要类型声明,通常变量的类型是被赋值的那个值的类型。例如PHP/ASP/Ruby/Python/Perl/ABAP/SQL/JavaScript/Unix Shell等等。强类型定义语言强制数据类型定义的语言。也就是说,一旦一个变量被指定了某个数据类型,如
2021-01-29 10:09:01
216
2
原创 Linux安装QtCreator相关的.run安装包
添加可执行权限(必须要确保.run文件有可执行权限)sudo chmod +x XXX.runsudo ./XXX.run出现构建问题和qmake问题第一步:$ sudo apt-get install build-essential第二步:$ sudo apt-get install libgl1-mesa-dev第三步:$ sudo apt-get install libqt4-dev...
2020-12-24 17:45:42
1110
1
原创 Linux问题集锦与解决方案
问题:当运行sudo apt-get install/update/其他命令时,会出现如下提示:E: 无法获得锁 /var/lib/dpkg/lock-frontend - open (11: 资源暂时不可用)E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?出现这个问题的原因可能是:在ubuntu系统的termial下,用apt-get in
2020-12-21 09:43:19
117
1
转载 Github优秀开源代码
---------------------作者:benpaobagzb来源:优快云原文:https://blog.youkuaiyun.com/benpaobagzb/article/details/50783501版权声明:本文为博主原创文章,转载请附上博文链接!标准库C++标准库,包括了STL容器,算法和函数等。 C++ Standard Library:是一系列类和函数的集合,使用核心语言编写,也是C++ISO自身标准的一部分。 Standard Template Lib...
2020-05-28 18:01:12
1799
原创 数据结构刷题(2)
题目:下排每个数都是先前上排那十个数在下排出现的次数给你10分钟时间,根据上排给出十个数,在其下排填出对应的十个数要求下排每个数都是先前上排那十个数在下排出现的次数。上排的十个数如下:【0,1,2,3,4,5,6,7,8,9】例子:数值: 【 0,1,2,3,4,5,6,7,8,9 】分配: 【 6,2,1,0,0,0,1,0,0,0 】0在下排出现了6次,1在下排出现了2次,2...
2020-04-20 20:32:45
215
原创 各种排序算法实现(一应俱全)
排序算法总结: 特点 名称 时间复杂度 原理 稳定性 举例(3,1,4,5,2) 名次排序 O(n2) 先排出名次,再根据名次,将数据放入相应 的数组排序 稳定 名次...
2019-12-05 10:45:29
256
转载 数据库(QT)
数据库简介系统学习:《QT creator快速入门》教程:http://shouce.jb51.net/qt-beginning/27.htmlQt中的QtSql模块提供了对数据库的支持,该模块中的众多类基本上可以分为三层.其中驱动层为具体的数据库和SQL接口层之间提供了底层的桥梁;SQL接口层提供了对数据库的访问,其中的QSqlDatabase类用来创建连接,QSqlQuery类可以使...
2019-08-28 09:11:02
246
原创 qt(1)模块介绍
Qt 5 模块细分很多,由基础模块和扩展模块。本文主要记录学习过程中常用的基础模块。举例:在项目文件.pro中加入QT += core guiQt 基础模块:Qt Core,提供核心的非 GUI 功能,所有模块都需要这个模块。这个模块的类包括了动画框架、定时器、各个容器类、时间日期类、事件、IO、JSON、插件机制、智能指针、图形(矩形、路径等)、线程、XML 等。所有这些类都可...
2019-08-27 11:31:30
254
原创 《程序员面试经典》——链表
部分文字代码copy模仿,如有雷同,请勿介意小白记录敲代码的过程。1.链表中倒数第k个结点输入一个链表,输出该链表中倒数第k个结点。思路:快慢指针,前一个指针比后一个指针慢k步。/*struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }}...
2018-10-08 10:51:54
350
转载 面试常见数据结构问题
转载:http://blog.youkuaiyun.com/v_july_v/article/details/6870251 微软等数据结构+算法面试100题全部答案集锦作者:July、阿财。时间:二零一一年十月十三日。 引言 无私分享造就开源的辉煌。 今是二零一一年十月十三日,明日14日即是本人刚好开博一周年。在一周年之际,特此分享出微软面试全部100题答案的...
2018-09-30 10:47:46
4254
原创 编程语言社区
Java、c++社区:开源中国 https://www.oschina.net/GitHub https://github.com/csdn https://www.youkuaiyun.com/ Python社区:PythonTab——python中文开发者社区 https://www.pythontab.com/Python中文社区维基 https://python-chin...
2018-09-25 10:59:19
755
项目源码+协议,如果有问题可直接私信我
2022-05-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人