- 博客(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
原创 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::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
原创 开源闭源杂谈
总的来说,开源和闭源软件都有其优缺点,选择哪种方式取决于具体的情况和需求。在数字化时代,我们需要更加开放和协作的态度来推动技术的发展和创新,同时也需要保护商业利益和技术安全。通过开源,软件开发人员可以在全球范围内进行协作和创新,这种分布式的方式可以加速技术的发展和创新的速度。此外,开源社区的透明度和开放性可以鼓励更多的参与和贡献,使得软件更加完善和适应各种不同的需求。这是因为大模型需要大量的数据和计算资源来进行训练和优化,而开源可以促进资源的共享和优化,使得更多的人可以参与到大模型的研发中来。
2023-11-17 11:36:55
189
原创 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
原创 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以及跨平台堆栈异常
2024-06-27
Qt串口调式代码(Qt5.12.11可以运行)
2024-06-04
Qt WIFI连接demo
2023-10-20
解决libfaad_release静态编译出错问题,这个lib是静态编译的
2022-08-17
C ++多线程编程实战姜佑译.rar
2019-05-21
MFC Clist 字体颜色 行列背景 整行高度
2018-05-21
windows核心编程-73.zip
2020-01-02
Visual Studio 2019 设置问题
2023-11-24
求助,mfc界面拖拽到电脑边框会变成这样,打断点也进入OnPaint()里
2019-10-14
TA创建的收藏夹 TA关注的收藏夹
TA关注的人