自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

路奇的博客

计算机编程一位路人

  • 博客(142)
  • 资源 (11)
  • 问答 (2)
  • 收藏
  • 关注

原创 QML Book 学习基础6(定位/布局元素)

Column(列)元素将它的⼦对象通过顶部对⻬的列⽅式进⾏排列。spacing属性⽤来设置每个元素之间的间隔⼤⼩。

2025-04-01 16:19:26 747

原创 关于使用Visual Studio编码问题

问题:今天遇到很烦问题,同一份代码,张三说他的代码格式是utf-8,李四说他的是GB2312(简中)的,然后李四上传代码,张三说是乱码,张三上传代码,李四修改后保存,编译不过,什么问题导致的呢?就是创建文件时候编码格式不对,可以用Notepad++或者 vs的高级保存选项查看编码怎么解决呢?

2025-03-14 14:12:36 1697

原创 QT基础 QPropertyAnimation简单学习

Qt中,如果你想要动画化一个不是由Qt框架预定义的属性,你可以使用QVariant属性系统来自定义属性。自定义属性允许你为任何QObject派生类添加新的属性,并通过来动画化这些属性。以下是如何为自定义类添加属性并使用首先,你需要在你的类定义中使用Q_PROPERTY宏来声明自定义属性。这通常在类的头文件中完成。Q_OBJECTpublic:signals:private:一旦你定义了自定义属性,你可以像动画化任何其他属性一样动画化它们。

2024-09-06 15:04:49 1214

原创 C++基础 调用堆异常

可以极大地帮助解决在开发人员系统上无法重现的客户问题,并且调用了一个通用函数,您不知道它的调用者,因为它们很多。必须为客户提供一个可执行文件和一个使用该可执行文件构建的 pdb,才能获得正确的调用堆栈。pdb 文件包含调试符号。您不能提供稍后从同一代码构建的 pdb。当我们构建可执行文件时,每个函数都有一个地址偏移量。pdb 基于这些偏移量。再次生成二进制文件时,偏移量会发生变化。简而言之,pdb 的函数偏移量必须与可执行文件匹配。

2024-06-27 15:54:52 354

原创 5.音视频基础 FLV

简说FLVFLV格式可以包含音频、视频和文本数据,并且可以在网络上进行流媒体传输。优点是文件大小较小,压缩效率高,并且可以在较低的带宽条件下实现较好的视频品质。FLV的组成部分大致可以说是数据头与数据组成的,如下面导图。

2024-06-19 16:29:16 1042

原创 C++基础std::bind

std::bind是一个函数模板,用于创建一个可调用对象,该对象可以在稍后的时候被调用。bind的作用是将函数与参数绑定在一起,在调用时可以自动传入预定的参数值。是 C++ 标准库中的两个实用工具,它们分别用于创建对对象的引用和常量引用的包装器。其中,F是需要绑定的函数或函数对象,Args是绑定函数所需的参数。所以说可以认为bind是函数特殊引用。

2024-06-19 16:28:50 367

原创 3.音视频 PCM

说到音频,有两个概念要分清楚,一个是采集到的原始音频数据(比如PCM)和压缩后的音频数据(比如AAC),简说下AAC:基于MPEG-2的音频编码技术,在蓝牙中常用的比特率是256Kbps,蓝牙并不能直接传输其原数据流,而是先将AAC解码成PCM,然后再编码成蓝牙支持的AAC编码再传输。

2024-06-14 17:48:46 608

原创 4.音视频 AAC SSA&ASS

◆ ADIF:Audio Data Interchange Format 音频数据交换格式。这种格式的特征是可以确定的找到这个音频数据的开始,不需进行在音频数据流中间开始的解码,即它的解码必须在明确定义的开始处进行。故这种格式常用在磁盘文件中。◆ ADTS:Audio Data Transport Stream 音频数据传输流。这种格式的特征是它是一个有同步字的比特流,解码可以在这个流中任何位置开始。

2024-06-14 17:48:26 836

原创 2. 音视频H264

H.264是由ITU-T视频编码专家组(VCEG)和ISO/IEC动态图像专家组(MPEG)联合组成的联合视频组(JVT,Joint Video Team)提出的高度压缩数字视频编解码器标准H265又名高效率视讯编码(High Efficiency Video Coding, HEVC)编码格式,支持1080p以上的4K×2K和8K×4K分辨率,将视频压缩率提高至H.264的约2倍。相比H.264,H.265需要更高的计算资源来进行编码和解码。由于H.265的算法更复杂,对处理器性能的要求更高。

2024-06-12 11:46:21 1800 4

原创 C++基础 std::find以及扩展

是C++标准库中的一个通用查找算法,用于在给定范围内查找指定元素。它接受两个迭代器作为参数,分别表示搜索范围的起始和结束位置。如果找到指定元素,则返回指向该元素的迭代器;否则,返回指向搜索范围末尾的迭代器。

2024-06-12 11:42:26 519

原创 1.音视频开篇

每两个 Y 分量共用一对 UV 分量,每像素占用 (Y + 0.5U + 0.5V = 8 + 4 + 4 = 16bits)2 字节;那比如我们常说的YUV(4:4:4)是指空间上的占比:4*4矩阵,Y、U、V比例为4:4:4,相当于一个像素点是由yuv组成的 ,每一个 Y 分量对于一对 UV 分量。◆NV:NV系列都属于semi-plane系列,“12”、“16”代表先U后V,“21”、“61”代表先V后U。◆ planar:平面格式,即先存储y平面,再存储u平面,再存储v平面;

2024-06-06 17:11:40 1229

原创 QT开源 串口调式工具

都是基础的代码不详细解释,代码比较多。

2024-06-05 12:00:00 336

原创 Qt基础 截屏功能

目前市场上截屏都是矩形的,所以那种规则或者三角怎么处理呢?

2024-05-28 13:56:10 177 1

原创 Opencv基础知识1(待补全...)

是一个类,由两个数据部分组成:矩阵头(包含矩阵尺寸,存储方法,存储地址等信息)和一个指向存储所有像素值的矩阵(根据所选存储方法的不同矩阵可以是不同的维数)的指针。矩阵头的尺寸是常数值,但矩阵本身的尺寸会依图像的不同而不同,通常比矩阵头的尺寸大数个数量级。无论哪种方法,我们(人类)看到的是图像,而让数字设备来“看“的时候,则是在记录图像中的每一个点的数值,这些数值在Opencv里就是用矩阵的方式来表示的,在Opencv中用图像类Mat来表示的。因此,`L`的每个元素都是一个8位无符号整数,并且它是单通道的。

2024-05-15 10:43:13 777

原创 QT基础 获取颜色

2.截图并将坐标代入途中获取RGB(这里要考虑坐标不在范围)假如是通过mousePressEvent获取到鼠标坐标。可以用eventFilter 或者contains。比如我们要获取图片上某个点的颜色,要怎么处理呢?关于是不是在控件范围内。

2024-05-15 10:41:37 355

原创 我的创作纪念日

学习是创作的源泉,通过不断学习,我能够获取新的知识和灵感,为创作提供更多的素材和思路。同时,通过创作,我还能够不断反思自己的工作实践,发现其中的不足和问题,从而不断改进和提升自己的工作水平。这些交流不仅拓宽了我的视野,也激发了我创作的灵感。最后,创作也为我提供了一个重要的平台,让我能够将工作和学习中的经验和知识转化为实际的应用和贡献。我希望通过自己的文章和经验分享,能够帮助更多的人走进技术的世界,共同探索未知的可能。我将继续坚持创作,不断探索和尝试新的领域和方式,为我的工作和学习带来更多的收获和成就。

2024-05-06 13:38:05 861

原创 QT基础 框选控件

当用户释放鼠标按钮时,检查框选区域内有哪些控件。这可能需要你遍历界面上的所有控件,并检查它们是否在框选区域内。:一旦你知道了哪些控件被框选,你可以执行相应的操作,比如高亮这些控件、执行某个命令等。方法中,根据鼠标移动的位置绘制一个矩形框,表示用户正在框选的区域。:当用户按下鼠标按钮并开始移动时,开始追踪鼠标的位置。:对于你想要框选的控件,你需要重写它们的鼠标事件处理函数(如。先说需求:比如有的时候想要框选界面上的控件,要怎么判断呢?//如果不想要矩形框去掉相应绘制窗口就可以了。方法来获取鼠标的当前位置。

2024-04-15 17:41:32 703

原创 C++ 类型推导Auto及decltype

除此之外使用 auto 会删除引用、const 限定符和 volatile 限定符,如下面代码会输出什么呢?是 C++11 及其后续版本中引入的两个关键字,它们都用于自动类型推导,但在使用和行为上有一些重要的区别。而是被立即处理,并且在当时诊断产生的所有错误。关键字在 C++ 中用于自动类型推导。编译器会根据初始化表达式自动推断变量的类型。关键字在编译时推导变量的类型,并且在推导过程中会考虑引用和。关键字使代码更加简洁,因为你不需要显式地写出变量的类型。因此,如果在 decltype。

2024-04-12 16:27:56 446

原创 C/C++ 内存分配方法对比

抽象级别new是一个高级别的抽象,它会自动调用构造函数和析构函数,并处理内存分配和释放。而allocate是一个低级别的抽象,只负责分配和释放内存,不涉及对象的构造和析构。初始化new会初始化分配的内存,而allocate只分配未初始化的内存。错误处理new在内存分配失败时抛出异常,而allocate在失败时返回nullptr(如果它设计为这样做的话)。使用场景new通常用于直接创建对象,而allocate通常用于实现自定义容器或需要更精细控制内存分配的场景。释放内存new分配的内存使用delete。

2024-04-12 14:47:35 853

原创 C++基础 别名和typedef

C++ 别名是在编程中用于为类型、命名空间或函数定义别名的一种方式。常见方式比如引用、宏定义、typedef。下面说说几种不常用。

2024-04-12 14:32:21 272

原创 C++ 基础 alignas alignof

alignas是C++11引入的一个关键字,用于指定对象或类型的对齐方式。对齐方式指的是对象或类型在内存中的起始地址的对齐方式,对齐方式的选择可以在一定程度上提高程序的运行效率。,表达式必须是 0 或幂为 2(1、2、4、8、16、...)的整型常量表达式。所有其他表达式的格式不正确,要么会被编译器忽略掉。可以对 struct。alignof运算符将指定类型的对齐方式(以字节为单位)作为类型 size_t。或变量声明使用 alignas。

2024-04-12 13:46:12 608

原创 Qt基础 低功耗蓝牙通信

首先说下基础知识,蓝牙连接是分经典蓝牙和BLE(低功耗)蓝牙的,他们的通信方式不一样,经典蓝牙用的socket,BLE用的是服务与特征。平台式VS2019+Qt5.12.11,但是Qt支持蓝牙并不好,如果你们有其他方案的话,尽量使用其他方案,因为有些问题,博主也没解决。添加头文件。

2024-01-23 11:00:53 3693 5

原创 VS C++ 查找虚拟机

方式2:找文件路径  -- C:\Program Files\VMware\VMware Tools。方式1:搜索服务   -- 包含WMware Tools / WMware 物理磁盘助手服务。方式3:寻找进程   -- vmtoolsd.exe。

2023-12-20 11:24:07 677

原创 VS+Qt 打包Python文件

先说下环境vs2019+Qt5.12.11+python3.8,这里需要注意如果你要适配Win7的系统,python最好是9以下,以上不兼容,也没时间找方法,找到评论说下。他们大部分用的Anaconda 这个外部工具处理python库的,将python环境打包成一个文件,这里我测试失败了,但是大体思路其实都是一样的:包含python环境。后面我分析软件崩溃的原因,将将错误界面截图下来,发现是因为程序文件缺失这几个文件导致的。如果你是环境是Qt Creator,可以参考这个。,下面来谈谈随exe文件打包。

2023-12-19 15:19:01 554

原创 C++基础 std::bind

std::bind是C++11中的一个函数模板,用于将一个函数或成员函数与其所需参数绑定,返回一个可调用对象。

2023-12-08 10:22:36 326

原创 C++基础 std::funtion简说

类模板是通用多态函数包装器。的实例能存储、复制及调用任何可复制构造 (CopyConstructible)的可调用 (Callable)目标——函数、lambda 表达式bind 表达式或其他函数对象,还有指向成员函数指针和指向数据成员指针。存储的可调用对象被称为的目标。若不含目标,则称它为空。调用空的目标导致抛出异常简而言之:std::function实现了一套类型消除机制,可以统一处理不同的函数对象类型。以前我们使用函数指针来完成这些;

2023-12-08 10:00:55 231

原创 C++基础 std::Move简说

Move最主要的作用是实现移动语义,避免不必要的复制操作,move函数的参数是一个通用引用(universal reference),既可以接受左值类型,也可以接受右值类型。首先,函数参数T&&是一个指向模板类型参数的右值引用,通过引用折叠,此参数可以与任何类型的实参匹配(可以传递左值或右值,这是std::move主要使用的两种场景)。提到Move引出一个C++ 中有左值和右值的概念,简单来说,左值指的是可以取地址的表达式,右值指的是不可以取地址的表达式。传递类型保持不变还是右值,而左值经过。

2023-12-07 16:10:26 1247

原创 C++基础 强制转换

C++ 提供几类转换。

2023-12-07 15:03:45 136

原创 Qt基础 QListWidget dragDrop拖拽操作

关于QLisWidget的item拖拽操作,也可以某个控件拖拽思路。

2023-12-01 18:08:47 1956

原创 开源闭源杂谈

总的来说,开源和闭源软件都有其优缺点,选择哪种方式取决于具体的情况和需求。在数字化时代,我们需要更加开放和协作的态度来推动技术的发展和创新,同时也需要保护商业利益和技术安全。通过开源,软件开发人员可以在全球范围内进行协作和创新,这种分布式的方式可以加速技术的发展和创新的速度。此外,开源社区的透明度和开放性可以鼓励更多的参与和贡献,使得软件更加完善和适应各种不同的需求。这是因为大模型需要大量的数据和计算资源来进行训练和优化,而开源可以促进资源的共享和优化,使得更多的人可以参与到大模型的研发中来。

2023-11-17 11:36:55 189

原创 Qt基础 界面镜像

前几天遇到一个需求 镜像界面想到几个办法,先给效果图。

2023-11-15 17:49:38 603

原创 Qt基础 QT QTextEdit自动滑动

获取QTextEdit的QScrollBar,然后再构造函数算出QScrollBar歩长pageStep(这里不知道为什么在其他地方算的步长很大),然后就定时器QScrollBar++或者--啦。最近公司在做一个提词项目,本来对这里功能难易感觉属于一般的,谁知道碰到一个很简单问题,搞了半天,先喷一下百度浏览器 不知道是算法越来越垃圾,还是我检索的有问题,还是说这个问题很难。那个End不用看意思就知道光标移动到文章尾部,还自动滚动,滚尼ma呢。严重标题与内容不符,别用猪脑写文章好不好!

2023-11-14 10:32:21 953

原创 话题 It人的护城河

综上所述,技术能力的深度、对创新的追求以及沟通协作等软实力都是程序员的护城河。这些能力相互补充,共同构成了程序员的全面素质。只有不断提升这些能力,程序员才能更好地应对不断变化的技术环境和工作挑战,为我们的社会构筑更加安全、稳定和创新的未来。程序员的护城河可以包括多个方面,包括但不限于技术能力的深度、对创新的追求以及沟通协作等软实力。

2023-11-09 11:53:58 138

原创 Qt基础 QScatterSeries

QScatterSeries类是Qt Charts模块的一部分,用于表示散点图。

2023-10-20 11:48:20 588

原创 QT基础 柱状图

从上图得知柱状的基类是QAbstractBarSeries,派生出来分别是柱状图的水平和垂直类,只是类型行不同。

2023-10-19 15:14:56 759

原创 C++基础 智能指针 关于std::shared_ptr循环应用问题

这种情况下,内存无法被垃圾收集器正确释放,从而可能导致内存泄漏,在这种情况下,A的实例可以通过bPtr引用B的实例,反之亦然。但是,如果这些是唯一的引用,那么垃圾收集器无法确定这两个对象何时不再需要,因为它们互相引用,形成了一个循环。是一种独占式智能指针,用于管理唯一的对象,确保只有一个指针可以访问该对象。使用引用计数技术追踪所管理对象的引用数量,当引用计数变为零时,自动销毁所管理的对象。可以自动释放动态分配的内存,当指针超出作用域或被重置时,它会自动删除所管理的对象。对象存在,所管理的对象也会被销毁。

2023-10-18 16:33:16 258

原创 Qt基础-乱码问题

围绕这些名词:字符编码、字符集、如ASCII、UNICODE、GBK、GB2312、GB18030、UTF-8、UTF-16等,源码字符集、执行字符集,MSVC编译器、MinGW编译器等,差不多就够了。个人常用原生的QtCreator开发,Qt+VS环境对调试非常友好,其它的了解不多,但乱码问题应该也没有的,因为源码字符集以及执行字符集都是GBK,统一就没有问题。,原因就是QtCreator源码字符集默认UTF8的,MSVC执行字符集默认GBK的,不统一乱码自然出现。源码字符集 和 执行字符集编码不统一。

2023-10-18 15:42:06 223

原创 Qt基础 QPieSeries饼状图

tip:上面代码QObject::connect按道理不应该是按照下面这样去弄,按照上面调式我发现循环外事。QPieSeries Class:饼状图数据。表示饼图系列中的单个切片(其实就是标签)管理图表系列、图例和轴的图形表示。可以显示图表的独立小部件。

2023-10-17 17:26:30 734

原创 QT基础 QChart绘制折线

本质逻辑上与上面差不多,但是如果要放大/缩小等操作,需要重写一下QChartView函数,如果是触摸的需要重写QChart的bool sceneEvent(QEvent *event);

2023-10-11 17:42:54 1180

转载 关于Qt QPushbutton 图标与字体间距处理办法

/新建布局,把元素一一添加到布局,再把布局设置到按钮上。//new两个Label,一个放置图片,一个放置文本。//设置文字的字样、字体、颜色等样式及文本框宽度。//设置描述按钮功能的文字。//加载图片到Label。

2023-10-10 17:57:11 2542 1

window以及跨平台堆栈异常

可以极大地帮助解决在开发人员系统上无法重现的客户问题,并且调用了一个通用函数,您不知道它的调用者,因为它们很多。必须为客户提供一个可执行文件和一个使用该可执行文件构建的 pdb,才能获得正确的调用堆栈。pdb 文件包含调试符号。您不能提供稍后从同一代码构建的 pdb。当我们构建可执行文件时,每个函数都有一个地址偏移量。pdb 基于这些偏移量。再次生成二进制文件时,偏移量会发生变化。简而言之,pdb 的函数偏移量必须与可执行文件匹配。里面有两个demo,第一个基于跨平台 C++23,而第二个基于 C++03 和 Windows API,因此仅适用于 Windows 平台

2024-06-27

Qt串口调式代码(Qt5.12.11可以运行)

福利资源小白新手可以学习学习,这款工具采用Qt框架精心打造,界面设计简洁明了,操作便捷,使得用户能够轻松上手。 在软件界面中,核心部分是一个串口配置区,用户可以在这里设置串口号、波特率、数据位等关键参数,以满足不同设备的通信需求。此外,工具还提供了丰富的功能按钮,如打开串口、关闭串口、发送数据等,方便用户进行串口通信操作。 值得一提的是,该工具还具备实时数据显示功能,可以实时显示接收到的串口数据,方便用户进行调试和数据分析。总之,这款Qt串口代码工具不仅功能全面,而且操作简便,是串口通信领域的得力助手,必将为用户的工作带来极大的便利

2024-06-04

Qt WIFI连接demo

项目背景: Qt应用程序开发框架,C++编程语言。 主要用途: 这个项目的主要是使用Qt5和C++来创建一个应用程序,该应用程序可以搜索可用的Wi-Fi网络并允许用户连接和断开Wi-Fi网络。 包含功能: 1.根据Wi-Fi适配器搜索Wi-Fi:这个功能需要使用到系统的一些API来访问Wi-Fi适配器并搜索可用的Wi-Fi网络。Qt提供了用于访问系统级功能的库,这些库可以用于实现这个功能。 2.连接/断开功能:这个功能需要创建一个界面让用户可以连接和断开Wi-Fi网络。Qt提供了用于创建界面的库,这些库可以用于创建这个界面。 3.扫描Wi-Fi列表:这个功能需要从系统获取可用的Wi-Fi网络列表并显示在界面上。Qt提供了用于显示列表的控件,这些控件可以用于显示Wi-Fi网络列表。 4.显示Wi-Fi信息:这个功能需要在界面上显示每个Wi-Fi网络的信息,例如SSID、信号质量、RSSI等。Qt提供了用于显示各种类型的数据的控件,这些控件可以用于显示Wi-Fi网络的信息。 5.根据电脑上保存的密码进行连接:这个功能需要从电脑中获取保存的Wi-Fi网络密码并使用该密码进行连接。

2023-10-20

解决libfaad_release静态编译出错问题,这个lib是静态编译的

解决libfaad_release静态编译出错问题,需要将libfaad_release.lib也静态编译,才能被静态编译吊桶,否则用动态调用会报错,当然也可以用共享的DLL使用MFC,但是如果客户那边没环境,就会报缺少MFC100d.dll等文件缺失问题

2022-08-17

C ++多线程编程实战姜佑译.rar

C++并发基础文档和实战练习,多线程编程是当今热门的一种编程技术。结合强大的C++,你可以轻松创建各种类型的应用程序、执行并行和优化现有程序。吐槽:积分不能设置

2019-05-21

SQLiteExpertPersSetup.zip

SQLlite软件,可以对.db文件进行操作

2021-03-16

__VA_X_Setup2052.zip

解决番茄助手秘钥失败问题点击exe,替换dll就可以了

2021-01-19

MFC Clist 字体颜色 行列背景 整行高度

MFC Clist 字体颜色 行列背景 整行高度,里面三个文档,一个vb6.0的,一个类文件,一个vs05的(我用vs15打开没有问题)

2018-05-21

21天学通C++(第6版)205

内容比较清晰,适合新手学习的资料。讲解比较基础的语法。C++学习资料。

2019-04-29

windows核心编程-73.zip

从入门到精通:适合有一定经验程序员的实用教程;侧重于技术和特征;提供范例文件。文档比较清晰。侧重于高级特性、技术和解决问题;包含丰富、适用性强的范例代码;帮助读者精通微软技术。

2020-01-02

学生数据库(参考部分功能还没有完成).rar

学生数据库(参考部分功能还没有完成),只作为参考价值。现在积分很恶心,系统自动设置。

2019-05-20

串口通信 - 副本.zip

串口通信demo,vs2015可以编译,支持16进制自动发送等功能.

2019-10-23

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除