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

原创 Qt QSS样式使用
介绍 Qt Qwidget 中在进行GUI开发中经常需要对控件进行美化,此时就需要对控件的样式进行修改;常用以下三种方法;在C++代码中通过函数setStyleSheet();在设计师中进行美化;引入QSS文件进行美化;当然,并不拘泥于其中一种方法,有时候会结合三种方法一起使用,但是一般推荐使用QSS文件,或者在设计师中进行美化,代...
2019-02-14 17:35:14
726
原创 十二、OSG学习笔记-Control
osg::Referenced: 负责内存安全策略,智能指针ref_ptr;osg::Object:负责对象的安全策略,数据IO的写入写出;1、osgViewer::ViewerBase类中成员变量的介绍:// 设置默认操作器// 线程渲染模式/* 替代 run()的作用while (!// 300帧渲染完了,就推出渲染frameNum--;*/return 0;
2025-03-06 22:58:06
327
原创 一、重学C++—C语言基础
定义常量的两种方式:使用define预处理命令或const关键字字面常量:'a'为字符型常量"abcd"为字符串常量。
2025-03-03 23:45:21
837
原创 Git 使用教程
Git 就像是一个超级智能的项目历史记录管理员,专门负责管理你写的代码、设计的文档或者其他类型的文件。想象一下,你在写一篇很长的小说,随着时间推移,你不断地修改内容、添加情节、删除段落。如果没有一个好的管理方式,你可能会忘记之前的版本是什么样的,或者在修改过程中不小心弄丢了重要的内容。Git 就能帮你解决这些问题。它会记录下你对文件所做的每一次修改,就像给每次修改拍了一张快照。你可以随时回到过去的某个版本,看看当时的文件内容是什么样的。
2025-03-03 01:03:13
961
原创 十一、OSG学习笔记-操作系统接口
OsgStudy/SysInterFac · CuiQingCheng/OsgStudy - 码云 - 开源中国。十、OSG学习笔记-多线程(OpenThreads)-CSDN博客。
2025-02-27 10:37:00
326
原创 十、OSG学习笔记-多线程(OpenThreads)
在整个viewer中最根部的基类中,osg::Referenced,其中有涉及OpenThreads的使用,其是通过C++实现了,一个隔离底层的线程管理接口,具有四种特性(线程安全, 互斥, 可以顺序执行,可以条件执行)OsgStudy/Openthreads · CuiQingCheng/OsgStudy - 码云 - 开源中国。九、OSG学习笔记-NodeVisitor节点遍历器-CSDN博客。一、对比windows下创建线程,与OSG创建线程。OSG线程开发大体上分为这几类;
2025-02-23 18:46:06
342
原创 九、OSG学习笔记-NodeVisitor节点遍历器
OsgStudy/NodeVisitor · CuiQingCheng/OsgStudy - 码云 - 开源中国。八、OSG学习笔记--CSDN博客。
2025-02-20 01:27:52
300
原创 八、OSG学习笔记-窗口
OsgStudy/wids · CuiQingCheng/OsgStudy - 码云 - 开源中国。windows,中查看显示设置,如下图,结果表面二者结果一致,获取正确。七、OSG学习笔记-碰撞检测-CSDN博客。一、了解OSG图元加载显示流程。
2025-02-12 22:01:09
701
原创 Beyond Compare文件和文件夹对比神器
百度网盘为您提供文件的网络备份、同步和分享服务。空间大、速度快、安全稳固,支持教育网加速,支持手机端。注册使用百度网盘即可享受免费存储空间。简单一句话介绍就是:Beyond Compare 是一款专业的文件和文件夹对比工具,支持多种格式差异分析、内容同步及数据合并操作。工作中经常会遇到两个文件需要对比,或者将不同的部分进行同步,这里推荐使用 Beyond Compare工具。安装完毕后输入licensekey,就可以免费使用了。百度网盘 请输入提取码。安装过程无脑next;
2025-02-09 18:55:00
356
原创 Everything-检索神器
百度网盘为您提供文件的网络备份、同步和分享服务。空间大、速度快、安全稳固,支持教育网加速,支持手机端。注册使用百度网盘即可享受免费存储空间。百度网盘 请输入提取码。
2025-02-09 18:38:44
189
原创 三、OSG学习笔记-应用基础
现象:在PowerShell执行osgviewer.exe glider.osg后,能正常显示图像,但输入s(显示帧率)或f(切换全屏或窗口)等按键后无响应。运行起来程序,按下键盘小写‘z’,开启记录位置,然后开始拖动图元,再按下键盘大写‘Z’生成如下保存路径的文件。下次启动viewer,软件加载模型文件,并导入路径文件,模型中图元会按照事先保存的路径运动。注意:在启用事件类自定义时,我的Win10专业版出现一个键盘输入系统兼容的问题;OsgGA: 界面事件处理空间,处理操作各种操作器的最大名字空间;
2025-02-08 13:44:48
288
原创 一、OSG学习笔记-编译开发环境
然后依次点击Generate,跟 open Project按键;编译中存在bug,再视具体情况而定,一般不会产生bug。3、Visual Studio 2019下载安装好。只需要编译出Debug/Release库即可;其中bin,文件夹配置到环境变量Path下。1、osg3.6.4源码下载;1、点击生成中的 ——》批生成。还有osg中所依赖的第三方库。二、cmake 编译构建项目。2、cmake 下载安装好。四、编译后环境变量的配置。
2025-02-08 13:30:20
195
原创 Could not start process make -f “XXXXX makefile”
先安装build-essential。安装完 一定要重启。系统Ubuntu 22。
2024-03-05 12:22:36
315
原创 Qt Mingw 创建dump 并查找crash 出错行
客户现场跑的程序有可能存在长时间运行挂掉的情况,而无法复现的话无法更好的查找问题原因。所以研究了一下window下程序程序调试crash的方法。该本是介绍qt+ mingw 的。1. 在PRO文件中加入调试信息(可能导致exe增大)在QT安装路径下找到分析工具addr2line.exe。4、引用记录崩溃类的main.cpp。3、记录崩溃日志类的.cpp文件。2、dump生成类的.h文件。
2023-04-06 01:31:08
1340
5
原创 QT: 界面隐藏后台显示
隐藏主窗口针对Flags有的参数如下:Qt::CustomizeWindowHint 标题栏也没有 按钮也没有Qt::WindowTitleHint 窗口只有一个关闭按钮Qt::WindowSystemMenuHint窗口只有一个关闭按钮Qt::WindowCloseButtonHint窗口只有一个关闭按钮Qt::WindowMaximizeButtonHint 最小化按钮不可用...
2022-06-05 20:44:59
2049
原创 MinGW跟MSVC的区别跟选择
Qt 的编译方式有两种,一种是MinGW ,另一种MSVC。1、MSVC是指微软的VC编译器。2、MinGW是指是Minimalist GNU on Windows的缩写。它是一个可自由使用和自由发布的Windows特定头文件和使用GNU工具集导入库的集合,允许你在GNU/Linux和Windows平台生成本地的Windows程序而不需要第三方C运行时库。它们都是编译工具,但是两者的兼容性并不好。当你的项目使用MinGW编译的使用,想要用一个MSVC编译生成的库时就会有问题。使用MinGW编译项目的时候
2022-06-03 21:25:22
5932
原创 VS 在debug模式下给应用程序传送参数
(VS 2017)一、背景我们的应用程序通过第三方软件,或者脚本运行,且需要给我们的应用程序传送参数;此时常用方法,1、在自己的应用软件中打log,2、VS中进行断点调试针对第一个方案,比较简单就不说了,第二种方法,就是要在VS的debug模式下启动并传送参数给应用程序。具体操作如下图:1、2、...
2022-05-30 22:31:54
574
原创 QT 动态库的使用
在Linux系统中动态库后缀名为.so; 在Windows系统中动态库后缀名为.dll我们在进行模块化设计开发过程中,往往会将一组功能,封装成一个动态库,从哪儿在整个软件开发升级改特定功能时,只需要修改该动态库,修改完成后替换该动态库即可;这里提到动态库,它的优缺点如下:优点1、可实现不同进程间的资源共享;2、动态库升级简单,只需要替换库文件,无需重新编译应用程序;3、模块化耦合性小,大规模软件开发过程中相互独立;4、可以控制动态库的加载跟卸载;缺点1、速度相...
2022-05-29 03:12:12
4391
原创 Qt子项目集成式的工程开发
介绍:日前在做类似插件类子模块式开发时,考虑到各个模块的独立性,在团队开发的过程中,最好能够拆分成各个子模块,各自定义好暴露在外面的接口,所以,开发中以多个子项目进行组织起来。具体实现如下:1. 构建项目集工程;2. 在项目集工程中添加各个子项目;项目集工程的构建:1. 先建一个空的qmark项目:2、集成项目文件pro如下图设置:3、新建主函数(main.cpp)工程添加到这个工程集下:4、填写完毕选择好默认下一步,查看项目集中pro文件自动加载子项目到.
2021-11-29 22:47:43
3503
原创 QTextEdit ctrl + 滚轮滚动自动缩放文本内容大小
自定义WheelEvent事件例如:MyText.h文件# include<QTextEdit># include<QWheelEvent>class MyText:public QTextEdit{ Q_OBJECTpublic: MyText(); ~MyText();protected: void wheelEvent(QWheelEvent *e);//滚轮事件}MyText.cpp文件#include
2021-08-09 10:33:48
1888
1
原创 QT 之XML 使用DOM的基本操作
简介XML 介绍使用DOM读取XML文件创建XML文件增加节点、删除,查找、更新1 XML 介绍XML是一种类似于HTML的标记语言,但它的设计目的是用来传输数据,而不是显示数据。XML的标签没有被预定义,用户需要在使用时自行进行定义。XML使用的树形结构更能表现出数据的包含关系,作为一种文本文件格式,XML简单明了的特性使得它在信息存储和描述领域非常流行。例如:<?xm...
2021-02-23 13:48:52
774
转载 C++中explicit关键字的作用和用法
一、explicit作用在C++中,explicit关键字用来修饰类的构造函数,被修饰的构造函数的类,不能发生相应的隐式类型转换,只能以显示的方式进行类型转换。explicit使用注意事项: 1、 explicit 关键字只能用于类内部的构造函数声明上。 2、explicit 关键字作用于单个参数的构造函数。 * 在C++中,explicit关键字用来修饰类的构造函数,被修饰的构造函数的类,不能发生相应的隐式类型转换例子:未加explicit时的隐式...
2020-07-30 17:01:41
694
原创 QT 软件在windows下的打包发布工具 —— windeployqt
背景:我们在windows下开发和发布软件时,经常会遇到这样的问题,用在IDE中直接运行没有问题,当到Release文件夹下,或者将Release文件夹下的软件给到其他用户主机下运行exe时总会提示缺少,这样或者那样的dll。我之前的做法是根据他的提示一个个去到QT安装目录下的bin文件夹中把这些dll一个个拷贝到exe同级的目录下,但是这样的办法,效率特别低,而且在与他人合作的时候也十分尴尬,因此这里引出了QT中常用于打包的工具——windeployqt,专门用于自动复制所需的dll库到程序目录下。.
2020-07-29 17:16:23
1047
2
原创 QT 串口通信 QSerialPort
概念在常见的通信方式中,少不了串口通信,在应用层,QT为我们提供了专门应用于串口通信的接口; QSerialPort和QSerialPortInfo。QSerialPort类提供了操作串口的各种接口;QSerialPortInfo是一个辅助类,主要提供了计算机中可用串口的各种信息;使用方法 1、首先我们再使用串口之前,先在QT的工程文件(.pro)中增加如下内容:QT += serialport 2、在使用串口时,我们需要获取当前设备所拥...
2020-07-29 10:16:06
512
原创 计算机大小端,以及网络字节序知识点整理
一、大小端的概念大端模式:指高字节数据存放在内存中的低地址,而数据低字节的数据保存在内存的高地址;地址由小向大增加,而数据从高位往低位放。小端模式:数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中,这种存储模式将地址的高低和数据位权有效地结合起来,高地址部分权值高,低地址部分权值低。网络字节序采用的是大端模式;二、如何查看当前主机是那种模式方法一:直接在终端输入 python -c "import sys; print(sys...
2020-07-24 13:50:43
214
原创 XML中的转义字符例如 >; 等的意思
近期在阅读XML文档时遇到一些特殊的转义字符,之前没有怎么接触过,后查阅资料特此整理如下:因为在xml文件中不允许出现 “>”(大于号), "<"(小于号)等特殊符号,所以需要转义字符来实现其功能;转义字符 符号 含义 < < 小于号 > > 大于号 & & 和 ' ' 单引号 " "
2020-07-22 16:40:57
7938
1
原创 RS232与RS485 RS422的概述和区别
最近工作中接触到串口相关的工作针对目前接触到的RS232、RS485、RS422进行一次总结和对比一、RS232的概述RS232为串行数据通信的接口标准标准规定的数据传送的波特率有:50、75、100、150、300、600、1200、2400、4800、9600、192001 特点:(1)接口电平值较高,易损坏接口电路芯片; 1 : -15v ~ -3v 0: 3v ~ 15v(2)传输速率低(3)接口使用一根信号线和一根信号返回线构成共地的传输形式,这种共地传输容易产生干扰(4)传输
2020-05-28 17:33:09
3941
原创 git克隆远端仓库代码
最近工作中同事传来一个gitlab上的数据仓库连接,我便开始clone这个数据仓库,过程如下环境: linux环境1 首先检查有没有ssh key(1)、进入存放ssh key 文件的目录下 cd ~/.ssh(2)、查看有哪些 ls如下图:会发现里面有好几个 *_rsa * 这样的文件 其中以pub结尾的文件有两个,表明这个文件夹中有两个ssh key(因为我多个地方用到)...
2019-12-03 18:24:53
496
转载 git stash用法详解
文章转载自:https://blog.csdn.net/stone_yw/article/details/80795669应用场景:当正在dev分支上开发某个项目,这时项目中出现一个bug,需要紧急修复,但是正在开发的内容只是完成一半,还不想提交,这时可以用git stash命令将修改的内容保存至堆栈区,然后顺利切换到hotfix分支进行bug修复,修复完成后,再次切回到dev分支,从堆栈中...
2019-09-25 16:12:32
3224
转载 C++ 中关键字深入理解(一) —— new
文章转载自http://www.codeceo.com/article/cpp-new-keyword.html“new”是C++的一个关键字,同时也是操作符。关于new的话题非常多,因为它确实比较复杂,也非常神秘,下面我将把我了解到的与new有关的内容做一个总结。new的过程当我们使用关键字new在堆上动态创建一个对象时,它实际上做了三件事:(1)获得一块内存空间、(2)调用构造函数、(...
2019-09-11 13:36:13
533
原创 安装32位交叉编译环境后,运行Linux指令,报错:-bash: 路径xx: No such file or directory解决方法
问题描述最近在安装32位的交叉编译环境时,再执行sourcej交叉编译工具后,运行常用的linux下的指令报错:“-bash: 路径xx: No such file or directory” ;查看了网上好多帮助文档:得出以下解决方案:解决方法:(1) 打开终端输入以下命令让所有命令启作用export PATH=/usr/local/sbin:/usr/local/bin:/sbin...
2019-06-06 13:54:05
5955
原创 【QT】报错 This application failed to start because it could not find or load the Qt platform plugin...
问题描述在将自己编好的程序的release给到同事运行时出现了如下错误:根据网上的多个方案,我均进行了尝试,最终获得一个可行性方案:解决方案:1.可能缺少复制 libEGL.dll2.需要把C:\Qt\Qt5.6.0\5.6\mingw49_32\plugins\ platforms\qwindows.dll,带红色的复制到你的exe执行文件目录。就是platforms文件夹,里面一...
2019-06-03 15:34:01
516
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人