自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(112)
  • 资源 (1)
  • 收藏
  • 关注

原创 windows下c++实现ping指令

看网上有很多使用CreateProcess实现,这种方法我试了一点用没有,要么全是true,要么全是false。使用system函数是可行的,但是会有个cmd窗口闪一下。我使用的是匿名管道,目前在两个项目里面使用都是可行的。

2024-10-28 14:39:30 109

原创 QCustomplot周边控件一些不常用的地方

1.多个QCPAxisRect对齐:2.让QCPAxisRect四个轴都显示3.刻度号显示在内测4.QCPItemStraightLine展示在单个QCPAxisRect上。

2024-05-14 10:13:51 560 1

原创 源码下载网址

这个项目目前 star 数排名 GitHub 第三,总 star 数超过6w,这个项目整理了所有跟编程相关的免费书籍,而且全球多国语言版的都有,中文版的在这里:free-programming-books-zh,有了这个项目,理论上你可以获取任何编程相关的学习资料,强烈推荐给你们!GitHub 的使用有各种技巧,只不过基本的就够我们用了,但是如果你对 GitHub 超级感兴趣,想更多的了解 GitHub 的使用技巧,那么这个项目就刚好是你需要的,每个 GitHub 粉都应该知道这个项目。

2024-01-08 17:24:12 422

原创 opencv_contrib自测程序(4.6.0)

【代码】opencv_contrib自测程序(4.6.0)

2024-01-04 16:49:46 467

原创 opencv自测程序(视频函数)

【代码】opencv自测程序(视频函数)

2023-09-18 10:18:00 195

原创 opencv自测程序(算法函数)

【代码】opencv自测程序(算法函数)

2023-09-18 10:17:21 199

原创 opencv自测程序(常用函数4.6.0)

【代码】opencv自测程序(常用函数)

2023-09-18 10:16:10 254

原创 vs2017 外网远程调试

解压下载文件,在natapp.exe同级目录下,新建一个config.ini文件。在我的隧道中复制authtoken,粘贴至文件对应位置----可参考。将natapp.exe于config.ini拷贝至目标电脑运行。config文件内容---其中authtoken需配置。

2022-11-01 09:31:30 346 1

原创 使用qt openGL在球内画三维坐标系

在球内建一个三维坐标系,在轴上添加文本Z、X、Y,添加一根坐标线,标出线和三轴的夹角。

2022-08-31 13:46:01 2354 3

原创 申请内存,std::transform和AVX256指令集用例和执行速度比较

1233456789

2022-07-29 10:03:51 519

原创 利用std::transform进行大数据计算

在日常编程中,可能会遇到,简单的计算,但是却要进行上亿次,循环累加耗时特别长std::transform就可以很好的解决问题。使用std::transform在提升速度的同时,CPU和内存回蹭蹭上涨,内部是多线程,自动分配工作。1.std::transform(input1.begin(), input1.end(), input2.begin(), outc.begin(), CalculatePoor);2.std::transform(std::execution::par_unseq,

2022-05-10 17:28:26 809

原创 c++读取本地所有USB设备的所有信息(包括串行设备)

读取的信息很多,但是我目前只需要硬件ID、pid、vid、设备名称:头文件代码如下:#include <windows.h>#include <setupapi.h>#include <Cfgmgr32.h>#include <iostream>#include <vector>#include <string>#include <initguid.h>#include <Usbiodef.h&

2021-08-25 16:58:28 4293 3

原创 qt子线程向主线程发消息

子类需要继承QThread类,起线程可以newQThread,也可以用qt起线程函数QtConcurrent::run(QThreadPool::globalInstance(), this, 函数Fun, 参数),本文介绍的是后者.QThreadPool::globalInstance()可以不用管理线程的资源回收,Fun函数如下:class B{signals: void sendMain(QVariantMap obj);}void B::Fun(...

2021-07-14 09:30:18 2205

原创 线程中,lambda值传递中全局变量和局部变量区别

线程中,我们使用lambda作为线程入口函数,lambda在使用“=”进行值传递时,[=]() {},此时传递局部变量时,我们还是全局变量

2021-06-07 10:09:19 744

原创 Qt使用QChartView、QFrame、QPushButton画k线

1.使用QChartView作为背景板2.使用QFrame画最高最低线3.使用QPushButton画开盘结算线单个点数据如下:代码如下:std::vector <QFrame *> m_vMidline; //收集K线中线用于清除std::vector <QPushButton *> m_vCandle; //收集K线用于清除QtCharts::QChartView *m_KLineView; //k线主图(k线图与其他图分离)QCategoryAx

2021-01-14 17:51:47 1443

原创 qt 弹框中的QLineEdit无法输入

主界面中按钮弹出QWidget框,此时弹框上的QLineEdit无法输入字母和数字,我的是可以输入中文解决方法:第一步QLineEdit安装焦点事件:(以两个QLineEdit控件为例)ui->lineEdit_2->installEventFilter(this);ui->lineEdit_3->installEventFilter(this);第二步获取焦点事件并使QLineEdit控件获取键盘输入bool CFuturesTradeLogin::even

2020-12-08 15:42:55 5528

原创 qt QFont字体英文

QFont font("Microsoft YaHei", 9, 50);QFont font("SimSun", 9, 50);常用的字体(不知道样式的可以在ui的字体设置里面查看对应字体的样式)宋体 SimSun黑体 SimHei微软雅黑 Microsoft YaHei微软正黑体 Microsoft JhengHei新宋体 NSimSun新细明体 PMingLiU细明体 MingLiU标楷体 DFKai-SB仿宋 FangSong楷体 KaiTi仿

2020-11-24 19:32:17 1048 1

原创 qt折线图和柱状图共轴

1.多条折线图共轴2.折线图和柱状图共轴3.柱状图实现每条颜色单独控制4.柱状图和折线图共x轴不,共y轴 //为防止内存泄露用全局变量 QBarSeries *m_lsHistogram = NULL; QLineSeries *m_lsMainSeries = NULL; QLineSeries *m_lsAveSeries = NULL; QLineSeries *m_lsYestSeries = NULL; QCategoryAxis *

2020-11-23 14:45:21 854

原创 qt QTableWidget列表行跳转

本文章只针对QTableWidget列表的特殊需求,列表在需要跳转的到整个列表的任意位置,如下图:图中已知整个列表的行数,跳转到其中一个产品的开头tableWidget->verticalScrollBar()->setSliderPosition(row)仅需这一行代码就够了。但是当我们对竖直滚动条做了像素滚动:tableWidget->setVerticalScrollMode(QAbstractItemView::ScrollMode::ScrollPerPixe

2020-10-29 10:28:24 2851

原创 qt QTableWidget 创建列表

​MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent),ui(new Ui::MainWindow){ ui->setupUi(this); setWindowTitle(tr("TableWidget"));//设置对话框的标题 ui->qTableWidget->setColumnCount(4);//设置列数 ui->qTableWidget->setR...

2020-10-26 16:08:10 662

原创 c++字节流与结构体互转

c++是类型不安全的,一般字节流和结构体是可以互相强转的,但前提是字节流要像结构体一样进行数据对齐,下面就来看看按数据大小依次排列的字节流是如何转化为结构体的:基础依赖部分代码:#include <stdio.h>#include <windows.h>#include <list>namespace sangame{#define H8_...

2019-11-13 15:26:26 3023

原创 IO多路复用

1.阻塞I/O模型老李去火车站买票,排队三天买到一张退票。耗费:在车站吃喝拉撒睡 3天,其他事一件没干。2.非阻塞I/O模型老李去火车站买票,隔12小时去火车站问有没有退票,三天后买到一张票。耗费:往返车站6次,路上6小时,其他时间做了好多事。3.I/O复用模型1.select/poll老李去火车站买票,委托黄牛,然后每隔6小时电话黄牛询问,黄牛三天内买到票,然后老...

2019-07-25 10:56:37 366

原创 [c++11]多线程编程(六)-条件变量(Condition Variable)

互斥锁std::mutex是一种最常见的线程间同步的手段,但是在有些情况下不太高效。假设想实现一个简单的消费者生产者模型,一个线程往队列中放入数据,一个线程往队列中取数据,取数据前需要判断一下队列中确实有数据,由于这个队列是线程间共享的,所以,需要使用互斥锁进行保护,一个线程在往队列添加数据的时候,另一个线程不能取,反之亦然。用互斥锁实现如下:#include <iostream&...

2019-07-24 10:51:22 589

原创 [c++11]多线程编程(五)-unique_lock

互斥锁保证了线程间的同步,但是却将并行操作变成了串行操作,这对性能有很大的影响,所以我们要尽可能的减小锁定的区域,也就是使用细粒度锁。这一点lock_guard做的不好,不够灵活,lock_guard只能保证在析构的时候执行解锁操作,lock_guard本身并没有提供加锁和解锁的接口,但是有些时候会有这种需求。看下面的例子。class LogFile { std::mutex _...

2019-07-24 10:50:30 189

原创 [c++11]多线程编程(四)-死锁(Dead Lock)

死锁如果你将某个mutex上锁了,却一直不释放,另一个线程访问该锁保护的资源的时候,就会发生死锁,这种情况下使用lock_guard可以保证析构的时候能够释放锁,然而,当一个操作需要使用两个互斥元的时候,仅仅使用lock_guard并不能保证不会发生死锁,如下面的例子:#include <iostream>#include <thread>#include &...

2019-07-24 10:49:38 362

原创 [c++11]多线程编程(三)-竞争条件与互斥锁

竞争条件并发代码中最常见的错误之一就是竞争条件(race condition)。而其中最常见的就是数据竞争(data race),从整体上来看,所有线程之间共享数据的问题,都是修改数据导致的,如果所有的共享数据都是只读的,就不会发生问题。但是这是不可能的,大部分共享数据都是要被修改的。而c++中常见的cout就是一个共享资源,如果在多个线程同时执行cout,你会发发现很奇怪的问题:#...

2019-07-24 10:48:41 251

原创 [c++11]多线程编程(二)-线程类的构造函数

构造函数的参数std::thread类的构造函数是使用可变参数模板实现的,也就是说,可以传递任意个参数,第一个参数是线程的入口函数,而后面的若干个参数是该函数的参数。第一参数的类型并不是c语言中的函数指针(c语言传递函数都是使用函数指针),在c++11中,增加了可调用对象(Callable Objects)的概念,总的来说,可调用对象可以是以下几种情况:函数指针 重载了operato...

2019-07-24 10:45:45 963

原创 rapidjson解析嵌套json和生成嵌套json

首先准备我们要的头文件rapidjson/document.h"rapidjson/writer.h" rapidjson/stringbuffer.h" using namespace rapidjson;现在我们解析一个这样的嵌套json:{ "code": 0, "count": 1, "data": [ { ...

2019-06-12 10:38:28 4591 2

原创 opencv2等比缩放图片

本代码缩放图片后图片清晰的保持不变前提必须有opencv_world343的dll和lib库,版本随意选,一般安装的opencv软件只有64位的库,这是最操蛋的地方#include <WINDOWS.H>#include "opencv2/imgproc/imgproc.hpp"#include "opencv2//highgui/highgui.hpp"#includ...

2019-05-17 17:12:03 1684

原创 C/C++框架和库

值得学习的C语言开源项目- 1. WebbenchWebbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行。下载链接:http://home.tiscali.cz/~cz2...

2019-04-09 16:57:55 304

原创 进程间的通信方式和线程间的通信方式

进程间的通信方式:1.管道(pipe)及有名管道(named pipe):管道可用于具有亲缘关系的父子进程间的通信,有名管道除了具有管道所具有的功能外,它还允许无亲缘关系进程间的通信。2.信号(signal):信号是在软件层次上对中断机制的一种模拟,它是比较复杂的通信方式,用于通知进程有某事件发生,一个进程收到一个信号与处理器收到一个中断请求效果上可以说是一致的。3.消息队列(...

2019-03-18 11:50:27 909

原创 Qt的信号和槽的详解

1、概述  信号槽是 Qt 框架引以为豪的机制之一。所谓信号槽,实际就是观察者模式。当某个事件发生之后,比如,按钮检测到自己被点击了一下,它就会发出一个信号(signal)。这种发出是没有目的的,类似广播。如果有对象对这个信号感兴趣,它就会使用连接(connect)函数,意思是,将想要处理的信号和自己的一个函数(称为槽(slot))绑定来处理这个信号。也就是说,当信号发出时,被连接的槽函数会自...

2019-03-14 15:19:16 861

原创 重构CListCtrl实现单个单元格背景颜色

第一步:设置你的单元格背景和字体颜色void CColorListCtrl::OnNMCustomdraw(NMHDR *pNMHDR,LRESULT *pResult) { NMLVCUSTOMDRAW* pLVCD = reinterpret_cast&lt;NMLVCUSTOMDRAW*&gt;(pNMHDR); //关联pNMHDR ...

2018-12-25 14:46:57 1988 4

原创 OPC自定义接口来实现客户端数据的读取

上篇博文分享了我的知识库,被好多人关注,受宠若惊。今天我把我在项目中封装的OPC自定义接口的程序分享一下。下面将会简单简单介绍下OPC DA客户端数据访问,以及搭配整个系统的运行环境。OPC(OLE for Process Control)其实就是一套标准,我对这套标准理解不多,使用过程中就把它理解一套协议或者规范,主要用于工控领域。OPC中有很多规范,我主要使用OPC DA规范来进行数据的读...

2018-12-24 10:41:56 6760

原创 OPC客户端开发过程

OPC开发过程:1.注册OPC接口组件 2.通过COM接口创建OPCServerList的接口指针 CoCreateInstance只能遍历本机,CoCreateInstanceEx可遍历远程机器OPCCLSID_OPCServerList={0x13486D51, 0x4821, 0x11D2, { 0xA4, 0x94, 0x3C, 0xB3, 0x06, 0xC1, ...

2018-11-08 09:52:37 1628 1

原创 常用颜色RGB

  

2018-09-11 09:33:00 5923

原创 重构CListCtrl实现改变单行背景颜色

三个接口函数,设置某一行的文字颜色(前景色)和背景色,使用说明都放在注释里了,创建的列表要使用该类声明,如:CColorListCtrl m_List;那么使用时,直接通过m_List.SetItemColor(1,RGB(0,0,0),RGB(255,255,255));设置颜色即可继承CListCtrl #pragma once #include "afxcmn.h"...

2018-09-11 09:22:29 838

原创 c实现getline函数

getline函数可以获取文件中的一行数据。原函数形式为 ssize_t getline(char **linepter,size_t *n,FILE *stream)返回类型ssize_t为有符号整形,其值为获取的字符数,文件结束则返回-1,包括换行符’\n’,但不包括字符串结束符’\0’。linepter用来存储获得的字符串,size_t为无符号整形表示linepter的字节数。当...

2018-09-11 09:17:42 3822 3

原创 Lambda表达式

C++11的一大亮点就是引入了Lambda表达式。利用Lambda表达式,可以方便的定义和创建匿名函数。对于C++这门语言来说来说,“Lambda表达式”或“匿名函数”这些概念听起来好像很深奥,但很多高级语言在很早以前就已经提供了Lambda表达式的功能,如C#,Python等。今天,我们就来简单介绍一下C++中Lambda表达式的简单使用。声明Lambda表达式Lambda表达式完整的声...

2018-08-29 17:30:27 509

原创 单例模式及getInstance()的用法

一般在单例模式下使用.getInstance()创建对象;但并不是所有有私有构造方法,对外通过getInstance方法提供实例的情况就是单例模式。注:单例模式:一个类有且只有一个实例。1,一个私有的构造器2,一个私有的该类类型的变量3,必须有一个共有的返回类型为该类类型的方法,用来返回这个唯一的变量eg:public class Singleton{    private S...

2018-08-29 11:46:16 1035

vs2017使用qt画三维坐标系(加密文件清注意替换)

内有加密文件,同级目录有为加密文件,注意替换

2022-08-03

空空如也

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

TA关注的人

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