自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 【Qt】检查QString中是否有中文标点符号

创建一个 QRegularExpression 对象 a,用于匹配中文标点符号。

2024-03-13 11:49:05 191

原创 【Qt】自定义分隔线控件

要制作一个独立的控件,并在其上绘制横线或竖线。创建了一个名为LineWidget的自定义QWidget,用于绘制横线或竖线。根据父QWidget的大小来设置横线或竖线的大小。使用setParent()函数将控件添加到父对象中。根据需要设置了横线和竖线的位置。

2024-03-12 11:25:03 426

原创 【Qt】this->setAttribute(Qt::WA_DeleteOnClose)

this->setAttribute(Qt::WA_DeleteOnClose) 这行代码是在 Qt 框架中使用的,用于设置窗口部件(通常是 QWidget 或其子类)的属性。:如果正在使用 C++ 的智能指针(如 std::unique_ptr 或 std::shared_ptr)来管理窗口部件的生命周期,那么可能需要重新考虑是否使用 Qt::WA_DeleteOnClose,因为智能指针和这个 Qt 属性在删除对象时可能会有冲突。这有助于避免内存泄漏,特别是当窗口部件是通过动态内存分配创建时。

2024-03-11 16:57:54 423

原创 【QMetaObject】如何根据信号名字字符串调用对象的槽函数

在 Qt 中,如果有一个信号的字符串名字,并且想要调用对应的槽函数,可以使用 QMetaObject::invokeMethod() 方法。这个方法允许你根据信号名字字符串调用对象的槽函数。以下是 QMetaObject 类的一些重要功能和用法:**

2024-03-08 15:15:45 186

原创 【Qt】将QStringList 变为QString

将 QStringList 中的多个字符串合并成一个单独的 QString,可以使用 QString 的 join 方法。

2024-01-23 14:39:39 632

原创 【Qt】检查Json数据语法错误的小工具。

上班的过程中会经常写和修改json格式文件,每次找错误很麻烦,使用这个Qt自带的json库来检查json脚本错误,感觉比较方便。1.使用 QJsonDocument::fromJson 解析 JSON 文本。2.如果存在解析错误,根据错误类型定位错误行,计算错误的行号。3.如果没有解析错误,返回 “OK”。

2024-01-17 21:22:38 718

原创 【C++/Qt】使用Json脚本动态生成QTabWidget界面

【代码】【C++/Qt】使用Json脚本动态生成QTabWidget界面。

2024-01-12 20:24:30 1058 1

原创 【C++】打印输出,换行的3种方式

3.使用<<运算符分开两个输出操作。1.使用std::endl。2.使用\n进行换行。

2024-01-12 16:22:10 5379 1

原创 【Visual Studio】常用快捷键

Ctrl + Shift + F:在整个解决方案中查找内容。Ctrl + F: 在当前文件中查找内容。ctrl+k +c 多行注释快捷键。ctrl+k+u 取消注释。Ctrl + G:跳转到指定行。转大写:Ctrl+Shift+U。转小写:Ctrl+U。

2024-01-09 21:04:57 341

原创 【Git】常用命令

如果需要删除远程分支,可以使用如下命令:git push origin :[分支名称],比如:git push origin :develop。需要注意的是,删除远程分支后,如果其他用户有基于该分支做出的修改还未合并到主分支,那么这些人将没有办法继续操作,需要谨慎操作。在Git中删除分支的命令是:git branch -d [本地分支名称],比如:git branch -d develop。在Gitlab中删除分支也很容易,只需要进入到仓库页面,选择分支页面,然后点击想要删除的分支名称,选择删除即可。

2024-01-09 20:52:26 309

原创 【Scheme】cond的用法

每个条件表达式都由一个条件和一个相应的表达式组成。cond 会按照顺序检查条件,一旦找到第一个为真的条件,就执行相应的表达式,并忽略后续条件。如果所有条件都为假,且存在 else 分支,那么将执行 else 分支的表达式。else 分支是可选的。

2024-01-09 20:32:02 354

原创 【C++】对象切片

在C++中,如果你有一个基类的引用或指针指向一个派生类对象,而且你通过该引用或指针进行赋值或传递给函数,只有基类部分的成员被复制或传递,而派生类特有的成员将被丢失。为了避免对象切片,通常使用基类的指针或引用,并在处理多态时使用虚函数。这样可以确保在运行时调用实际类型的成员函数,而不会失去派生类的信息。对象切片是指当通过基类的引用或指针来操作派生类对象时,只会保留基类部分的情况。这通常发生在使用值传递或直接赋值操作时。

2024-01-07 18:44:00 508 1

原创 【C++】关于多态的思考

Call(B &p) 传进去的是一个B类型的指针,C类型的对象,因为B继承A,且B中没有Fun函数,所以调用A的Fun函数。而C重写了B的虚函数DO(),是实现多态的原理,调用了C的Do()函数。

2024-01-07 17:53:18 385 1

原创 【C++】继承与多态

在C++中,可以通过将一个子类的对象赋值给一个指向父类的指针,来实现多态。这是通过对象的指针或引用来使用多态性的一种方式。当你使用这种方法时,你可以通过父类的指针或引用来访问子类的成员,但是只能访问到父类声明的成员,而不能访问子类新增的成员。

2024-01-07 17:15:15 376 1

原创 【C++】std::any_of的用法

first 和 last:定义了要搜索的元素范围的迭代器对(iterator pair)。[first, last) 表示范围,即从 first 开始(包括 first),到 last 结束(不包括 last)。p:是一个谓词(predicate)函数或可调用对象,用于定义搜索的条件。谓词应该是一个可接受范围内元素类型的函数,返回 bool 类型。std::any_of 是 C++ 标准库中的一个算法,用于判断给定范围内的元素是否至少有一个满足指定的条件。

2024-01-07 16:31:22 880 1

原创 【Qt】使用Json文件生成QTreeView的树结构(二)

这段代码的主要思路是读取 JSON 文件,构建树形结构,并使用 QFileSystemWatcher 监视文件变化。当文件发生变化时,重新读取 JSON 文件并更新树形结构。这使得用户可以在外部修改 JSON 文件并实时看到更新的树形结构。

2023-12-30 19:44:32 479 1

原创 【Qt】使用Json文件生成QTreeWidget的树结构(一)

【Qt】使用Json文件生成QTreeView的树结构。

2023-12-29 23:33:54 604 1

原创 【c++】节数组<=>十六进制字符串

source:输入的字节数组。dest:存储输出的十六进制字符串的缓冲区。sourceLen:输入字节数组的长度。source:输入的十六进制字符串。dest:存储输出的字节数组的缓冲区。sourceLen:输入十六进制字符串的长度。

2023-12-08 18:38:00 114

原创 【c++】使用FFmpeg库进行视频流处理的

,新版的FFmpeg可能需要做相应的更新。此外,对于实时视频流,循环的方式并不是最优的,因为它会一直运行,最好的方式是将其放在单独的线程中。这两行代码用于初始化FFmpeg库和网络库,确保在使用解封装(flv,mp4,rmvb,avi)功能和编解码器之前进行了初始化。如果解码成功,进行格式转换、缩放,并将RGB数据加载到QImage中。这部分代码用于打开RTSP流或文件流,设置了一些参数以优化流的拉取,例如设置缓存大小、超时时间等。最后释放分配的资源,包括输出缓冲区、帧以及关闭解码器和输入流。

2023-12-08 18:28:19 1202

原创 【Qt】将外部程序窗口嵌入到Qt应用程序中

之后,使用 Pid2Wid 函数检索窗口句柄(WId),从窗口句柄创建一个 QWindow,对窗口设置了一些标志,并创建了一个 QWidget 来将窗口嵌入到Qt应用程序中。如果找到匹配,返回该窗口的窗口句柄(WId);这个函数创建了一个新的QProcess,命名为 pProc,并连接了一个lambda函数到应用程序的aboutToQuit信号,确保外部进程在Qt应用程序即将退出时被终止。然后,设置了进程通道模式,启动外部进程(CoppeliaSimEdu),并等待其启动和完成(最多等待8000毫秒)。

2023-12-08 18:16:56 960

原创 【c++】:创建一个动态库

【代码】【c++】:创建一个动态库。

2023-12-08 18:01:34 21

原创 【Qt】QProcess用法

在上述代码中,start方法用于启动一个外部进程。你需要将替换为你要运行的可执行文件的路径。方法会阻塞当前线程,直到进程完成执行。你也可以使用和来等待进程开始和产生输出。上述代码将获取进程的标准输出。你还可以使用读取标准错误输出。使用finished信号,你可以在进程完成时执行某些操作。可以连接到该信号的槽函数,以便在进程完成时进行处理。使用方法可以传递参数给外部进程。使用write方法可以将数据写入进程的标准输入。告诉进程输入已完成。使用terminate方法会向进程发送终止信号,让进程有机会进行清理。

2023-12-08 17:58:39 160

原创 【正则表达式】同时匹配多个字符

问题:搜索在一行中只要 存在 “sun”或者“jiang”两个字符的正则表达式。问题:搜索在一行中同时 存在 “sun”,“jiang”两个字符的正则表达式。【正则表达式】同时匹配多个字符。

2023-12-08 17:57:12 1870

原创 C++ Qt数字图像处理作业(无Opencv)

C++ Qt数字图像处理作业(无Opencv)数字图像处理老师不让用opencv来实现直方图均衡化、中值滤波、锐化、边缘检测、直方图阈值分割。各个处理模块有参考csdn上大佬的算法。本着分享的精神,上传上来。代码和结构还有很大的优化空间,希望看客么也能给一些建议。1.界面主界面图片每一次图片处理的直方图边缘检测效果2.代码结构1.pro配置2.代码代码结构很简单,有打开图片,直方图的显示公共函数,代码中重复的内容很多,还可以进行优化。mainwindow.h#ifndef

2021-09-03 10:42:31 2589 5

c++/Qt实现的坦克大战

c++/Qt实现的坦克大战

2023-12-09

空空如也

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

TA关注的人

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