- 博客(21)
- 资源 (3)
- 收藏
- 关注
原创 Qt监控文件夹内容变化
代码#ifndef CMYFILEWATCHER_H#define CMYFILEWATCHER_H#include <QObject>#include <QMap>#include <QFileSystemWatcher>class CMyFileWatcher : public QObject{ Q_OBJECTpublic: //************************************ // 作者: // 日期:
2021-09-03 15:17:52 1805
原创 C++消费者队列简单版
#pragma once#include <functional>#include <memory>#include <thread>#include <queue>#include <condition_variable>template<typename T>class CConsumeQueue{ typedef std::function<void(T)> ConsumeFunction;p.
2021-09-03 15:10:46 276
原创 Log4Qt简易使用说明2
重新整理,增加程序启动和退出时的日志,方便查看 修改配置文件,将Warning以上单独再起一份日志记录 修改输出日志格式,限定数据长度,对齐格式代码:#pragma once#include "libpublic.h"#if defined(Q_OS_WIN32)#include <windows.h>#include <DbgHelp.h>//生产DUMP文件int GenerateMiniDump(HANDLE hFile, PEXCEPTION_
2021-08-26 17:16:04 220
原创 Log4Qt个人整理的配置文件
日志说明日志格式自动填充对齐 自动捕获QtMessages 每日生成一份日志 每日单独生成一份Warning以上日志 每次启动程序,生成一份日志 记录最近20次启动的日志配置文件#设置储存log文件的根目录logpath=./Logs# 配置日志的输出格式: %r耗费毫秒数 %p日志的优先级 %t线程名 %C所属类名通常为全类名 %L代码中的行号 %x线程相关联的NDC %m日志 %n换行logConversionPattern=[%d{yyyy-MM-dd HH:mm:ss.zzz
2021-08-23 09:23:38 1087
原创 Log4Qt简易使用说明
编译 从网上下载Log4Qt源码 使用QtVisualStudioTools工具导入Vs项目中 修改相关配置,生成静态库 使用 这边进行了二次封装 #pragma once#include "log4qt/log4qt.h"#include "log4qt/logmanager.h"#include "log4qt/propertyconfigurator.h"#include "libpublic.h"class CMyLog4Qt{public:...
2021-08-20 13:42:04 362
原创 Qt自己写的一个基于qInstallMessageHandler的日志库
这个日志库基于消费者队列写的可以按小时存,按天存,按程序启动时间存 Debug、Warning、Critical、Fatal、Info,分开保存 日志超过一定大小,自动分成另外一个日志 包含了Windows捕获异常,生成Dump文件存在的问题由于是基于消费者队列,所以日志无法保证实时输出 资源消耗,cpu占用率#pragma once#include <QObject>#include <QTime>#include <QString>#in
2021-08-20 08:41:14 419
原创 Qt程序只允许启动一个
static bool identifySingleApp(const QString& identifier) { QSharedMemory *shareMem = new QSharedMemory(identifier); volatile short i = 2; while (i--) { if (shareMem->attach(QSharedMemory::ReadOnly)) shareMem->detach(); } r..
2021-08-20 08:29:49 622
原创 Qt延迟函数
//只能在主线程中调用,在子线程中调用,会有可能出现崩溃static void Sleep(int ms){ //QTime dieTime = QTime::currentTime().addMSecs(ms); //while (QTime::currentTime() < dieTime) // QCoreApplication::processEvents(QEventLoop::AllEvents, 100); QEventLoop eventloop; QTimer::s..
2021-08-20 08:28:16 1036
原创 Qt cvMat和QImage相互转换
#pragma once#include <opencv2/opencv.hpp>#pragma region cv::mat与QImage转换static cv::Mat qImageToMat(const QImage& image){ cv::Mat mat; switch (image.format()) { case QImage::Format_ARGB32: case QImage::Format_RGB32: case QImage::Form.
2021-08-20 08:18:23 363
原创 Qt简单的多线程应用
在一些特殊场合,比如保存图片,需要将保存图片的任务放入一个临时的线程中,以提高运行效率。这里记录几个简单的多线程代码写法。在Qt中对于容器的多线程处理,类似于ompQt版:#include <QtConcurrent>struct sSaveImage{QStrimg strPath;QImage imgSaveImg;};QList<sSaveImage> lstsaveimgs;auto future = QtConcur
2021-08-19 15:41:48 234
原创 Win10多台电脑时间自动同步
一、首先需要同步的服务器作为ntp server服务器,开启相应服务,方法如下:设置一台计算机为NTPServer: 启用NTPServer 打开注册表 [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\W32Time\TimeProviders\NtpServer] Enable = 1 设定强制主机(将其自身设宣布为可靠的时间源) 打开注册表 [HKEY_LOCAL_MACHINE\SYSTEM\Control...
2021-08-19 15:40:11 4673 2
原创 C++关于控制CPU利用率相关代码
某些场景中,需要将一个进程或者一个线程控制在CPU某些核心中运行DWORD_PTR mask = 0b00001111;if (mask > 0){//进程 控制当前进程在8核CPU中的前4个核心中运行SetProcessAffinityMask(GetCurrentProcess(), mask);//线程控制当前线程在8核CPU中的前4个核心中运行SetThreadAffinityMask(GetCurrentThread(), mask);}...
2021-08-19 15:39:17 950
原创 Qt国际化,加载翻译文件
1.每个翻译文件都要有对应的QTranslatorif (language == "EN"){//每个翻译文件都要有对应的QTranslatorstatic QTranslator maintranslator;maintranslator.load("rs-inspectionui_en");qApp->installTranslator(&maintranslator);static QTranslator dllranslator;dllransla
2021-08-19 15:37:33 339
原创 关闭windows defender
https://zhidao.baidu.com/question/330461177674102405.html
2021-08-19 15:36:24 284
原创 Win10下,使用WindowsSerivce服务,守护进程
尝试开发Windows服务,实现守护进程功能但是,尝试后发现在win10下,Service无法启动exe,所以只能暂时放弃以Service开发守护进程
2021-08-19 15:35:21 1153
原创 Qt设置开机自启动
static void setAppAutoRunSelf(bool isstart = true) { //注册表路径需要使用双反斜杠,如果是32位系统,要使用QSettings::Registry32Format QSettings settings("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", QSettings::Registry64Format); //获取应用名称 QS.
2021-08-19 15:34:11 164
原创 QVariant引用自定义类需要注册类型所调用的函数
以cv::Mat为例,需要将cv::Mat序列化和反序列话,并且可以在信号和槽中使用声明时:Q_DECLARE_METATYPE(cv::Mat);inline QDataStream& operator<<(QDataStream& out, const cv::Mat& info){ QImage tmpimg = cvMat2QImage(info); out << tmpimg; return out;};inline QDat
2021-08-19 15:33:16 408
原创 Qt编写软件,在Window英文系统显示中文乱码
在main函数中加入QTextCodec::setCodecForLocale(QTextCodec::codecForName("GBK")); // 关键是这句
2021-08-19 15:29:16 291 1
原创 关于相机飞拍和IO板卡触发拍照
项目至今为止,在使用海康相机进行飞拍和IO板卡硬触发拍照时,会出现取图失败的情况。所以总结一下:飞拍需要加入重拍,这个重拍机制需要自动化配合,与自动化进行通信,实现重拍 IO板卡进行触发拍照时,出现取图失败,不能确定时IO板卡的问题,还是相机问题,所以需要通过控制IO板卡实现重拍...
2021-08-19 15:27:38 4057 3
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人