自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(110)
  • 资源 (26)
  • 问答 (1)
  • 收藏
  • 关注

原创 C#委托实例

1 委托简单使用using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace DelegateDemo{ class Program { static void Main(string[] args) { Calculator calu =..

2022-05-11 21:43:01 1197

原创 多线程,在构造期间不能泄露this指针

对象构造要做到线程安全,唯一的要求是在构造期间不要泄露this指针,即:不要在构造函数中注册任何回调;也不要在构造函数中把this传给跨线程的对象;即便在构造函数的最后一行也不行。之所以这样规定,是因为在构造函数执行期间对象还没有完成初始化,如果this被泄露给了其他对象(其自身创建的子对象除外),那么别的线程有可能访问这个半成品对象,这会造成难以预料的后果。参考文献:《Linux多线程服务端编程:使用muduo C++网络库 》...

2021-06-14 11:05:55 329

原创 Github开源项目搜索

1.搜索名字 in:name xxx2.搜索描述 in:description xxx3.搜索readme in:readme xx4.按stars stars:>10005.按fork fork:30006.仓库大小搜索 size:>=5000 [5000是大小,单位k]7.按更新时间 pushed:>2020-06-128.按语言 language:xxx9.按作者名 user:xxx [xxx后面不能有空格]10.搜索方式可以自

2021-06-12 16:31:54 182

原创 拷贝赋值运算符和拷贝构造函数的区别

拷贝构造函数和赋值运算符的行为比较相似,都是将一个对象的值复制给另一个对象,但是其结果却有些不同,拷贝构造函数使用传入对象的值生成一个新的对象的实例,而赋值运算符是将对象的值复制给一个已经存在的实例。这种区别从两者的名字也能轻易的分辨出来,拷贝构造函数也是一种构造函数,那么它的功能就是创建一个新的对象实例;赋值运算符是执行某种运算,将一个对象的值复制给另一个对象(已经存在的)。调用的是拷贝构造函数还是赋值运算符,主要是看是否有新的对象实例产生,如果产生了新的对象实例,那调用的就是拷贝构造函数;如果没有,那

2021-02-19 12:50:06 1342

原创 Qt信号槽的几种写法

信号槽是Qt的核心部分,它使得对象之间的的通信变得很简单。Qt通过connect来连接信号与槽,当信号被发出时,槽函数立刻被执行,connect函数有五个重载:// 重载1QMetaObject::Connection connect(const QObject *, const char *, const QObject *, const char , Qt::ConnectionType); // 重载2QMetaObject::Connection connect(const QObject

2021-02-13 13:59:23 891

原创 win32API如何获取进程句柄

要获取某个进程的句柄,首先要获取该进程的ID,通过ID获取进程的句柄。代码如下:需要用到的头文件:#include "tlhelp32.h"#include "windows.h"DWORD GetProcessidByName(const wchar_t* name){ PROCESSENTRY32 pe ={0}; DWORD id = 0; HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); pe.

2020-07-26 11:17:15 1060

原创 C++ 静态成员函数如何访问非静态成员

我们知道,普通成员函数隐藏这一个this指针,所以可以去调用类中别的成员函数和成员变量。静态成员函数不能访问非静态成员,这是因为静态函数属于类而不是属于某个对象,静态函数的创建要早于非静态函数和成员变量,静态函数中的member可能都没有分配内存。此外,静态成员函数没有隐含的this自变量。所以,它就无法访问自己类的非静态成员。那么如何调用呢?我们可以显示的传入对象指针,如下:class Demon1{public: static void FunctionA(Demon* p) {

2020-07-14 11:09:35 1423

原创 std::shared_ptr及std::unique_ptr使用数组注意事项

默认情况下,std::shared_ptr会调用delete来清空内存。当使用new[] 分配内存时,需要调用delete[] 来释放内存,否则会有内存泄露。可以通过以下代码来自定义释放内存的函数: template< typename T > struct array_deleter { void operator ()(T const * p) { delete[] p; }};通过以下代码来声明std::shared_ptr指针:

2020-06-18 20:00:25 7283 1

原创 如何实现DLL延迟加载

1.不建议采用将DLL拷贝到工程目录下的方式开发2.设置流程:a) 卸载延迟加载的DLL(Yes);b) 延迟加载的DLL:填入要加载的DLL全名以‘;‘间隔;c) 调试->环境: 填入DL路径(推荐相对路径)以‘;‘间隔,如:path=../../../DllPath1/bin;../../../DllPath2/x64/bin;$(PATH)Demo:#include "stdafx.h"#include "windows.h"int main(){ HMODULE hL

2020-06-01 15:32:05 645

转载 Qt 优化QTreeWidget的三态:勾选,未勾选,半勾选

这是以前做过的例子,之前是参考的网上的例子,觉得遍历次数太多,效率不行。自己尝试优化修改了一番。小试牛刀,欢迎拍砖。效果如下图:示例数据做得比较粗糙。来看看是怎么实现的吧。功能勾选树控件的节点,其子节点全部选中或全部取消选中父节点选中或者部分选中实现QTreeWidgetItem的复选框,可以通过setCheckState(int column,Qt::CheckState stat...

2020-03-07 10:16:35 2156

原创 QT 如何设置TreeView控件有连接线

一句代码搞定:ui.treeWidget->setStyle(QStyleFactory::create("windows"));

2020-03-07 09:57:00 2099

原创 QT如何截图

void CMainWin::ScreenShot(){ QDir dir; //进入某文件夹 dir.cd("./"); //判断需要创建的文件夹是否存在 if (!dir.exists("ScreenShot")) { qDebug() << "Create Dir"; //创建文件夹 dir.mkdir("ScreenShot"); } QSt...

2020-03-05 18:59:02 192

原创 QT如何获取文件夹名及路径,文件名及文件路径

1、获取文件夹名//获取目录下的文件夹名列表QStringList GetDirNameList(const QString &strDirpath){ QDir dir(strDirpath); QFileInfoList Info_list = dir.entryInfoList(QDir::Dirs | QDir::NoDotAndDotDot); QListIterat...

2020-03-01 10:53:56 8656

原创 QT QTableView设置列宽自适应和水平滚动

两行代码搞定 //设置tableView水平滚动和自适应宽度 ui.tableView->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents); ui.tableView->horizontalHeader()->setStretchLastSection(false);...

2020-02-26 11:47:08 3256 3

原创 QT关于QTreeWidget 如何获取当前Item文本

直接上代码QTreeWidgetItem *pCurrentItem = ui.treeWidget->currentItem();QString strText = pCurrentItem->text(0);text(0) 中的 0 表示 columns 第一栏(通俗点就是第一列吧)...

2020-02-26 11:43:01 10812

原创 最基本最常用的排序算法汇总

1.基本的排序算法冒泡排序( Bubble Sort)插入排序(Insertion Sort)2.常考的排序算法归并排序( Merge Sort )快速排序(Quick Sort )拓扑排序(Topological Sort)3.其他排序算法堆排序(Heap Sort)桶排序(Bucket Sort)注意:1,冒泡排序和插入排序是最基础的,面试官有时候喜欢拿它们来考察你的基础...

2020-02-25 21:36:19 366

原创 QT 正则表达式格式汇总

只能输入数字:"^[0-9]*$"。只能输入n位的数字:"^\d{n}$"。只能输入至少n位的数字:"^\d{n,}$"。只能输入m~n位的数字:"^\d{m,n}$"。只能输入零和非零开头的数字:"^(0|[1-9][0-9]*)$"。只能输入有两位小数的正实数:"^[0-9]+(.[0-9]{2})?$"。只能输入有1~3位小数的正实数:"^[0-9]+(.[0-9]{1,3})?...

2020-02-23 22:38:39 644

原创 QT sqlite数据库 日期为变量时,如何按时间筛选数据库中的数据

//起始时间 QString strBegTime = ui.BegdateTimeEdit->text(); //结束时间 QString strEndTime = ui.EnddateTimeEdit->text(); //搜索命令 QString strQuery = "select * from Log where DateTime >= \'" + strB...

2020-02-18 16:27:50 2147 1

转载 QT char*,char[],QString,string互相转换

char*,char[],QString,string互相转换比较杂,本文参考现有博文做了总结。1.char* 转QString方法一:直接用QString的构造函数转换,如下:char* ch = "acuity";QString str(ch);方法二:用QString的静态转换函数获取,如fromUtf8()、fromLocal8bit()、fromUtf16(),如下:cha...

2020-01-12 22:36:12 11042

原创 VS2013附加包含目录,添加相对路径

VS2013创建一个工程之后如下:相对路径里面的“相对”实际上指的是以工程文件XXX.vcproj为起点进行计算的路径。该工程中包含的源文件要包含一个头文件,该头文件所在路径如下:D:\Code\codeCplusplus\Hello\Hello\include则我们可以从工程文件Hello.vcproj所在目录为起点,相对路径应为:…\Hello\include。如果该工程中包含的...

2020-01-03 15:13:59 4812

原创 QT 利用QStackWidget 和提升为类的方式 实现界面切换

环境:QT5 + VS2013首先新建一个带ui的主界面类,在添加两个带ui界面的类FirstPage和SecondPage,这里都是用了QWiget。然后在主界面中拖拽一个stackWidget,默认有两个界面,这里改名为page1和page2,并将他们俩提升为刚刚添加的那两个类(提升类的方法这里就不赘述了)。效果图如下:其它就不多说了,直接上代码:主窗口://.h#ifndef M...

2019-12-25 21:53:48 1892

原创 QT 父窗口如何通过单击按钮调出自定义对话框

qqqq

2019-12-25 21:09:12 948

原创 QT QTableWidget设置单元格不可编辑

简单记录一下解决这个问题的方法:方法1: QTableWidgetItem* pItem = ui.tablewidget->item(iRowIndex, iColIndex); //获取该单元格的pItem pItem->setFlags(Qt::ItemIsEditable);这种方法可以使单元格内容变为灰色,且不能选中单元格;用户不能编辑单元格内容,但是可以这样修改:...

2019-12-23 16:19:35 8954

原创 QT QTableWidget向单元格格中填充控件,如何单击获取该控件所在的行和列

最近在使用QTableWidget,想要获取某个单元所在的行和列,一般可以使用QTableWidget的信号void cellEntered(int row, int column)。写自己的槽函数void MySlotFun(int row, int column)获取行和列即可。注意:该种方法只要将鼠标放在单元格上就可以获得该单元格的行和列。void cellEntered(int row...

2019-12-23 16:06:02 1999 7

原创 QT 如何在弹出自定义对话框时主界面不可操作

最近在做主界面通过按钮弹出对话框时,想让弹出对话框时主界面不可操作。总结两种方法如下;方法一:继承QDialog,class CMyDialog : public QDialog{ Q_OBJECTpublic: CMyDialog(QWidget *parent = 0); ~CMyDialog(); QStringList GetValue();private: Ui...

2019-12-20 12:42:34 2858

原创 VS2013+QT 编译时 “QDomDocument” 文件找不到的问题

这里将提供两种解决办法方法一:【右键工程】,选择【Qt Projct Setting】,勾选XML即可。方法二:步骤一:项目->属性->c/c+±>常规->附加包含目录->在弹出的对话框中,点那个文件夹形状的按钮添加新行,输入$(QTDIR)\include\QtXml步骤二:项目->属性->连接器->输入->附加依赖项,添加 Q...

2019-12-12 18:35:17 3495

原创 cin使用技巧

使用cin过程中,如果只想读数字,遇到字母无法退出循环的问题:while (1){ std::cin >> n; if (std::cin.fail()) { //如果输入失败,清空处理,方可继续 std::cin.clear(); std::cin.sync(); printf("重新输入:...

2019-12-08 22:00:24 518

原创 C/C++ this指针 和 利用const隐式的修改this指针类型

1.this 指针this指针指向用来调用成员函数的对象(this被作为隐藏的参数传递给方法)。每一个成员函数(包括构造函数和析构函数)都有一个this指针,this指针指向调用对象。如果方法需要引用整个调用对象,则可以使用表达式*this,在函数的括号后面使用const*限定符将this限定为const,这样将不能使用this来修改对象的值。然而,要返回的并不是this,因为this是对象的地...

2019-12-05 10:22:24 820

原创 C/C++程序运行耗时统计(高精度)

方法一:(单位为微秒) #include<iostream> #include <chrono> #include <windows.h> using namespace std; using namespace chrono; int main() { auto start = sy...

2019-12-03 21:56:12 2013

原创 C/C++ 文件读写操作

1.文件写操作可参考 文件写操作2.文件读操作采用标准库里面的read();函数原型:istream& read (char* s, streamsize n);s为文件名,n为要读取的字节长度。几个常用的成员函数:(1). stream& seekg (streamoff off, ios_base::seekdir way)(2) 第二个参数有以下...

2019-12-02 22:09:23 434

原创 C/C++什么时候需要定义一个复制构造函数

1.关于复制构造函数复制构造函数用于将一个对象复制到新创建的对象中。也就是说,它用于初始化过程中(包括按值传递参数),而不是常规的赋值过程中,类的复制构造函数原型如下:ClassName(const ClassName &)注意:这里之所以使用引用,可以有效的防止无限递归的去调用复制构造函数,可以节省调用构造函数的时间以及存储新对象的空间。2.何时调用复制构造函数新建一个对对象...

2019-12-02 21:40:30 575

原创 new 内存失败如何处理

方法一: try { //分配内存 int* a= new int[bigBigNum]; } catch(std::bad_alloc) { //异常处理 // 返回 }方法二: try { double *ptr=new double[100000...

2019-11-01 22:30:56 163

原创 C++写日志Log

GitHub上面下载的代码,挺好用,权当学习#ifndef YLOG_YLOG_H_#define YLOG_YLOG_H_#include <string>#include <fstream>#include <cassert>#include <ctime>class YLog{private: std::ofstream ...

2019-11-01 22:21:46 328

转载 C/C++ 打印文件名、行号、函数名的方法

1、打印文件名、行号、函数的两种方式 #include <cstdio> //定义打印宏,并在打印信息前加入文件名、行号、函数名 //此宏展开后,类似于printf("123"),printf("456"); #define TRACE_CMH_1 (printf("%s(%d)-<%s>: ",__FILE__, __LINE__, __F...

2019-11-01 22:17:16 1934

原创 QT 事件滤波器实现全屏显示、右键菜单

bool MyMain::eventFilter(QObject *watched, QEvent *event){ if (watched == ui.ShowLabel)//当事件发生在(为Qlabel型)控件上 { if (event->type() == QEvent::KeyPress) { //ESC退出全屏 QKeyEvent* keyEvent...

2019-11-01 22:09:34 542

原创 YUV文件转RGB并保存为bmp格式

本文YUV文件以YUV420为例。

2019-11-01 22:01:27 545

转载 Qt中实现屏幕或窗口(控件)截图功能

要想在Qt中实现屏幕或窗口截图功能 ,通常有两种方法:  1-- 使用 QPixmap 类  2-- 使用 QScreen类然而虽然俩两种方法用到的类不相同,但是调用到的类成员函数的函数名称和参数却是相同的都是 grabWindow() 这个函数所不同的是QPixmap中的 grabWindow()函数 是静态成员QScreen中的grabWindow()成员是非静...

2019-10-21 14:18:11 6222 2

转载 C++11 std::move和std::forward

0 绪论关于左值右值示例可看这里1、左值和右值的概念左值是可以放在赋值号左边可以被赋值的值;左值必须要在内存中有实体;右值当在赋值号右边取出值赋给其他变量的值;右值可以在内存也可以在CPU寄存器。一个对象被用作右值时,使用的是它的内容(值),被当作左值时,使用的是它的地址。2、引用引用是C++语法做的优...

2019-06-06 10:39:47 683 1

转载 泛化之美--C++11可变模版参数的妙用

https://www.cnblogs.com/qicosmos/p/4325949.html

2019-06-05 21:32:13 298

原创 C++并发与多线程编程之std::async、std::future、std::package_task、std::promise

1 std::async, std::future创建后台任务并返回值 std::sync是个函数模板,用来启动一个异步任务,启动起来一个异步任务之后,他返回一个std: :future对象, std: :future是一个类模板。什么叫“启动一个异步任务”,就是自动创建一个线程并开始执行对应的线程入口函数,它返回一个std::future对象, 这个std:: future对象...

2019-06-05 14:53:28 564

GDI+ 图片缩放、移动等功能实现

GDI+ 图片缩放、移动等功能实现

2024-03-23

Makefile.pdf

跟我一起写Makefile》是 陈皓 发表在其CSDN博客上的系列文章。该系列文章翻译整理自 GNU Make Manual ,一直受到读者的推荐,是很多人学习Makefile的首选文档。

2020-11-15

利用代理的方式向QtableWidegt 中添加各种控件

自己写了个利用代理的方式向QtableWidegt 中添加各种控件(按钮、下拉框、日期控件等)的demo,供大家参考学习使用。

2020-05-30

利用QStackWidget 和提升为类的方式 实现界面切换 小Demo

利用QStackWidget 和提升为类的方式 实现界面切换 小Demo利用QStackWidget 和提升为类的方式 实现界面切换 小Demo利用QStackWidget 和提升为类的方式 实现界面切换 小Demo利用QStackWidget 和提升为类的方式 实现界面切换 小Demo利用QStackWidget 和提升为类的方式 实现界面切换 小Demo.

2019-12-25

智能优化算法.rar

利用Matlab实现了:改进的粒子群算法、遗传算法、蚁群算法、量子粒子群算法、模拟退火算法优化计算、人工蜂群算法ABC的Pareto多目标函数优化、改进的遗传算法-函数寻优 、布谷鸟算法的函数寻优分析、人工鱼群算法AFSA的Pareto多目标函数优化、细菌觅食算法BFO的Pareto多目标函数优化等40多种智能优化算法,想学习的可以看一看。

2019-12-15

100题系列by_July.pdf

入编程这一行之初,便常听人说,要多动手写代码。可要怎么写列?写些什么列?做些什么列?c 语言程序设计 100 例,太过基础,入门之后,挑战性不够。直接做项目,初学者则需花费大量的时间与精力、且得有一定能力之后。于是,这份精选微软等公司数据结构+算法面试 100 题的资料横空出世了。

2019-12-15

十五个经典算法研究与总结、目录+索引(by_....pdf

十五个算法包括:A*算法、Dijkstra 算法、动态规划算法、BFS 和 DFS 优先搜索算法、KMP 算法、遗传算法、sift 算法、SIFT 算法、红黑树、快速排序算法、Hash 表算法等等。

2019-12-15

互联网校招面试笔试题合集.rar

收集了各大互联公司包括阿里巴巴、网易、腾讯、京东等笔试题集,准备秋招的小伙伴可以下载学习,希望能够对你们有所帮助。

2019-12-13

yuv转bmp-yuv转jpg源码.rar

整理了yuv格式转bmp格式源码,yuv格式转jpg格式源码。

2019-10-09

海康相机SDK+QT二次开发.rar

收集了网上关于海康威视相机SDK二次开发相关文档和程序,如有问题联系博主删除。

2019-07-29

Essential C++和深度探索C++对象模型 绝对高清带书签

Essential C++和深度探索C++对象模型 绝对高清带书签,仅供学习使用。

2019-04-21

Qt TCP网络协议实例

基于Qt开发环境,C++语言,利用TCP网络协议编写了客户端和服务器端的程序,可以实现客户端向服务器端发送数据。

2019-03-26

Qt棋盘绘制(9x9)源码

利用Qt5.8绘制了9行9列的棋盘,添加了背景,通过鼠标按下事件可实现一个小图片在方格中的移动,带注释,适合新手练习。

2018-12-29

[Qt Creator快速入门_第三版]书籍+课件+源码

这是我看过比较好的Qt学习资料,整理了一下,仅供学习交流使用。

2018-12-06

侯捷老师讲座:C++面向对象高级编程(课件+视屏链接)

整理了侯捷老师的C++面向对象高级编程(课件+视屏链接),需要的可以下载。

2018-11-28

互联网校招面试笔试题合集

阿里、百度、腾讯、华为、网易、等各种互联网笔试面试题合集。

2018-11-20

侯捷老师STL标准库与泛型编程和C++内存管理课件

前一段时间学习了侯捷老师的STL标准库与泛型编程和C++内存管理,讲的不错,整理了一下课件供大家学习使用。

2018-11-19

经纬度计算软件

已知两点经纬度,可以计算两点之间的距离,免安装版。

2018-11-14

超详细的程序员笔试面试书籍(视频+电子书)

本人面试期间收集了许多面试资料,由于文件内容过于庞大,提供了下载地址。内容主要包括:计算机网络、数据结构与算法、操作系统、C++、设计模式、Linux等一系列笔试面试的书籍和视屏,极大节省了寻找这些资料的时间。另外这些资料仅供学习使用。

2018-10-30

开源QT串口调试助手

由于文件较大,附了开源代码的下载地址。主要利用QT库的串口调试助手,实现了串口识别,接发受数据,供学习交流使用。

2018-10-30

solidworks2013版本六轴机械手(超细超全)

文见中含有完整的六轴机械手零部件和完整的装配体,2013及以上的版本都可以打开。

2018-07-10

二轮平衡车全套源码(超全)

这是本科期间做的平衡车资料,软件(调试通过、无错误)、硬件资料全都有,可以用它DIY自己的平衡小车。内容包含所有平衡小车相关资料(硬件(stm32)、源码、电路图、连线方法等);源码包含括互补滤波版、卡尔曼滤波板、DMP版,都是编译通过的。想自己DIY平衡车的赶快行动起来。

2018-07-05

PIXHAWK四轴稳定版3.3.3固件

该固件版本为3.3.3,经过多次测试,未出现过异常,飞行过程中从未出现过炸鸡现象,稳定可靠,强烈推荐。

2018-06-26

mavlink-generator.zip

由于官网的mavlink geneator里面缺少部分文件,无法正常运行,经过本人修改后,此MavLink 生成器可以正常运行,可以生成MavLink协议,如果有需要,可以自行下载。

2018-04-14

ANSYS 曲轴 有限元分析 SOLIDWORKS

曲轴被广泛应用于汽车行业中,是汽车发动机内重要的零部件之一,其品质好坏直接影响着发动机和整车的性能。本文首先应用SOLIDWORKS软件建立了曲轴的三维实体模型,其次利用ANSYS软件完成了曲轴的有限元分析,得到了曲轴静力学和模态分析结果,其四缸曲轴的分析结果可为曲轴设计、优化提供一定的理论依据和参考。

2018-03-21

windows7下建立Pixhawk的Eclipse编译

如何在windows7下建立Pixhawk的Eclipse编译开发环境

2017-08-25

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

TA关注的人

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