自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 opencv实现数字匹配

项目中用到的利用opencv库识别数字,例子比较简单,本身没什么价值,简单记录一下。上代码:#pragma once#include <QObject>#include <QFile>#include <QDebug>#include <QTextCodec>#include "IEvent.h"#include "clickevent.h"#include "judgeevent.h"#include "executor.h"#incl

2020-12-27 18:46:53 317

原创 Qt多线程实现(一)

Qt中有两种实现多线程的方式,其中一种是写一个继承于Object的类,将这个类移入QThread 对象中,代码如下:1.写一个继承于object 的线程类//头文件class executorThread : public QObject{ Q_OBJECTpublic: executorThread(QObject *parent=0); ~executorThread();//源文件executorThread::executorThread(QObject *parent)

2020-12-27 18:39:55 262

原创 Qt信号槽中参数的元对象注册

最近项目中遇到一个问题:线程中的槽函数总是无法响应。原因:费了九牛二虎之力终于找到问题之所在,原来是所用的信号槽中的参数类型不是Qt的自带的基础类型,而是自定义类型,Qt的信号槽在主线程和子线程中只能传递Qt的基础数据类型,比如QString、int等(不是线程与线程间传递不存在这个问题),所以我这里主线程和子线程无法通过信号槽来传递自定义参数。解决方案:注册参数的元对象类型。 qRegisterMetaType<QVector<QStandardItem*> >("QV

2020-12-27 18:01:57 962

原创 饥汉模式

所谓饥汉模式,个人理解就是一种程序设计实现的形象的说法,项目中经常有这样的场景:程序启动时,有很多耗时的操作,比如加载图片,加载文件等等,而友好的界面应该是让主界面加载进来,这些耗时费劲的操作放在后台的线程中去执行,完全不影响主界面的加载速度。所以软件设计人员就想到了在程序启动时将这些耗时的操作放在线程,故而把这种初始化加载的方式形象的比作:“饥汉模式”。1.mian函数中实现饥汉模式初始化int main(int argc, char* argv[]){ QApplication a(arg

2020-12-27 17:45:30 168

原创 C++实现观察者模式

所谓观察者模式,个人理解就是一对多的对象之间的关系,多个对象就是观察者,下面写一个项目中用到的类似于观察者模式。1.写一个抽象的事件基类,暴露的函数写成虚函数,在继承该事件类中的子类中实现这些虚函数#ifndef IEVENT_H#define IEVENT_H#include <QString>class IEvent{public: virtual ~IEvent(){} virtual bool setCommand(QString cmd) = 0; //

2020-12-27 17:15:29 250

原创 C++实现单例模式

所谓单例模式,就是把一个类的的构造函数在其内部实现,并且只向外部暴露其实例化的函数,在程序的生命周期中只被实例化一次,这个类方便管理,代码如下:class BaseInfo{private: BaseInfo(){} static BaseInfo *pInstance;public: static BaseInfo * GetInstance();//只向外部暴露此接口};```cpp#include "baseinfo.h"BaseInfo* BaseInfo

2020-12-27 15:15:58 115

原创 设置系统热键

最近Qt项目中遇到一个这样的问题:主界面有暂停和停止两个功能按钮,但是程序在运行过程中鼠标是被程序控制的,所以想到设置快捷键来实现暂停和停止,但是Qt设置的按钮快捷键是需要按钮有获得焦点的,而在程序运行中,无法获得焦点。解决方案:调用Windows自带的ApI来实现快捷键。1.注册全局热键 // 注册全局热键 RegisterHotKey(HWND(this->winId()), GlobalAddAtomA("HTK_RUN"), MOD_CONTROL,

2020-12-27 14:57:05 402

原创 Qt程序打包发布

1.在VS中编译程序的release 版本2.找到编译生成的.exe文件,将其拷贝到将要发布的文件夹下3.从开始菜单打开 Qt 命令行,输入命令:cd /d E:\conductometer然后使用 Qt安装目录(如D:\Qt\Qt5.9.9\5.9.9\msvc2017_64\bin)的windeployqt 工具命令:D:\Qt\Qt5.9.9\5.9.9\msvc2017_64\bin\windeployqt ConductometerUi.exe4.执行完上述步骤就可到一些dll

2020-12-21 16:19:10 184

原创 Qt按钮设置快捷键

设置快捷键 //设置暂停快捷键 QAction* action = new QAction(this); action->setShortcut(tr("space"));//空格键为快捷键 this->addAction(action); connect(action, SIGNAL(triggered()), this, SLOT(on_pushButton_5_clicked()));设置快捷组合键 //设置停止快捷键 QActi

2020-11-25 11:08:40 1596

转载 VS2019登录不上?看这里!

编译神器VS2019提示三十天试用期已到,需要登录微软账号才能重新使用作者:鹊衔桥上月https://www.bilibili.com/read/cv8234774出处: bilibili

2020-11-20 15:04:59 9929 20

转载 CreateThread参数dwCreationFlags(启动选项)详解

function CreateThread(  lpThreadAttributes: Pointer;  dwStackSize: DWORD;  lpStartAddress: TFNThreadStartRoutine;  lpParameter: Pointer;  dwCreationFlags: DWORD; {启动选项}  var lpThreadId: DWORD): THandle; stdcall;...

2020-11-06 14:49:17 1453

转载 C++ CreateThread详解

function CreateThread(  lpThreadAttributes: Pointer;          {安全设置}  dwStackSize: DWORD;                    {堆栈大小}  lpStartAddress: TFNThreadStartRoutine; {...

2020-11-06 14:39:09 6352

转载 如何转载CSDN博客

在参考“如何快速转载CSDN中的博客”后,由于自己不懂html以及markdown相关知识,所以花了一些时间来弄明白怎么转载博客,以下为转载CSDN博客步骤和一些知识小笔记。 参考博客原址:http://blog.csdn.net/bolu1234/article/details/51867099 转载CSDN博客步骤: 1.CSDN博客页面右键,点击【检查】 点击检查后,页面右侧出现htm...

2020-11-05 17:40:32 76

Visual Assist X_10.9.2389_0.zip

VS番茄助手,适配2019社区版

2020-12-28

空空如也

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

TA关注的人

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