- 博客(25)
- 资源 (6)
- 问答 (1)
- 收藏
- 关注
原创 Qt QEventLoop 与 Android Looper 实现消息循环简单对比分析
QEventLoop 与 Looper 功能基本相同,实现方式大致也相同,都可以在线程中开启一个消息循环,分发消息。下面对比两种结构实现消息派发的实现方式。1.QEventLoop 和 Looper 每个线程中都只能有一个。2.消息队列 每个线程都有一个消息队列,Qt的消息队列在QThredData中保存,QThredData中还保存一个QEventDispatcher用来派发消息, Looper的消息队列直接保存在looper中。3.添加消息 Qt使用QA...
2021-05-22 11:55:42
409
原创 Qt5使用vlc播放视频
#if defined(_MSC_VER)#include <BaseTsd.h>typedef SSIZE_T ssize_t;#endif#include <QObject>#include <QSize>#include "vlc/vlc.h"#include "windows.h"/*VLC播放封装类, 参考网上代码*/#define WAITTIME 100#define BF_FAILED -1#define BF_OK 1.
2020-11-21 15:07:19
586
原创 qt自定义帮助文档 文件模板
1.编写号html格式的帮助文档2.创建helpDoc.qhp文件<?xml version="1.0" encoding="GB2312"?><QtHelpProject version="1.0"> <namespace>HMIHelpDoc</namespace> <virtualFolder>doc</virtualFolder> <filterSection> <toc> &
2020-07-24 16:21:21
735
原创 libevent 实现简单局域网软件更新服务器
依赖libevent与qt,使用了qt中的一些工具类。DataStream,ByteArray来格式化tcp传输的数据,还有xml解析。没有使用qt的时间循环。客户端使用qt的network库写的。一. 更新过程1.服务端程序下建一个ManagerdFolder文件夹,把需要更新的程序放进去,可以放多个。搞个配置文件配置可以更新的文件类型。2.待更新的程序启动后调用更新客户端(exe),传入程序名,服务端ip。连接服务器。3.连接成功发送程序的名字,服务端检查是否在托管文件夹...
2020-07-08 17:55:58
432
原创 libevent 一种解析tcp包方式
1.首先定义传输协议时要包含包的长度,放在第一个位置。2.使用一个标志标识接收到的数据长度,为0表示可以接收新的包数据。3.在libevent源码中添加一个获取bufferevent接收数据缓冲区中有效的数据大小,加在bufferevent.c 中代码如下:unsigned int buffer_get_validinputbyte(struct bufferevent* bufev){ if (!bufev)return 0; unsigned int byteAvaliable =
2020-06-24 15:27:06
455
原创 exe 动态调用dll中函数 引起的莫名奇妙问题
没注意到exe中声明的函数指针与dll中调用约定不同,出现莫名奇妙的问题,release下运行正常,debug下在调用这个函数退出后,下条语句崩溃,调试了好久,无意中看到网上一句话受到启发,exe与dll函数调用约定不同会引起esp指针混乱,仔细一想stdcall与cdecl清理栈的方式不同,确实可以导致函数执行过后下条语句崩溃,仔细检查一下调用约定确实不一样。找原因找的头晕脑胀,一直以为误用pp...
2020-03-13 17:33:31
325
原创 qt 使用gtest测试gui的一种方式
1.下载编译gtest,地址:https://github.com/google/googletest.git2.找到gtext文件夹下msvc文件夹,vs打开,编译静态库,运行时库貌似要选择/MD动态链接,不然后续使用会出问题3.将include,编译好的lib库放在一个项目经常使用的位置,可以设置个环境变量4.创建Qt控制台程序,选择QTest,QtCore,QtGui。将mian...
2019-07-25 10:44:41
1892
原创 windows 下 python调用Qt C++( PyQt5 + sip4.19)
1.首先编译sipwindows下使用nmake编译,进入vs工具 x86 Native Tools Command Prompt for VS 2015进入sip目录,依次输入python configure.py --platform win32-msvc2015nmakenmake install成功后python目录下会生成sip.exe,sip.pyd等2....
2018-08-17 17:33:42
1244
原创 C常用语句 汇编对照表
backup函数栈初始化00B92340 push ebp 00B92341 mov ebp,esp 00B92343 sub esp,0E4h 00B92349 push ebx 00B9234A push esi 00B9234B push edi 00B9234C l...
2018-07-13 16:38:51
1679
原创 Qt 调用微软认知 语音识别服务
最近需要验证一下语音,测试了微软的离线在线这些,测试微软认知语音识别服务遇到一些问题,记录一下;第一步需要在微软认知服务网站上订阅一个试用码。第二部获取ToeknPOST https://api.cognitive.microsoft.com/sts/v1.0/issueTokenContent-Length: 0Ocp-Apim-Subscription-K
2016-12-16 16:54:37
2053
转载 c++ qml 交互
介绍QML和 C++对象可以通过,signals,slots和 属性修改进行交互。对于一个C++对象,任何数据都可以通过Qt的 Meta-Object System暴露给QML(何总方法,后面介绍),同时,任何的QML对象数据通过Meta-object system在C++端直接访问。在实际的项目中很多地方会用到QML与Qt C++交互。在这里总结了若干方法供大家参考,欢迎大家指导和拍
2016-06-21 10:56:31
307
原创 QTcpsocket 使用 模板
常用代码,在这里记录一下,方便以后查找客户端Client.hifndef CLIENT_H#define CLIENT_H#include #include #include #include class Client:public QObject{ Q_OBJECTpublic: Client(QString ip,int port); ~Clie
2016-06-17 14:12:21
1380
1
原创 Qt日志类 使用方便,支持多线程,可以注册回调在程序异常时给出通知
log.h#ifndef PLAINLOG_H#define PLAINLOG_H#include <QFile>#include <QMutex>#include <QDateTime>#include <QTextStream>#include <stdio.h>#include <QObject&g...
2016-06-17 13:56:40
1740
转载 win32 进程查找相关代码
#include #include #include HANDLE _processSnap = NULL; PROCESSENTRY32 _pe32 = { 0 }; _processSnap = (HANDLE)CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); _pe32.dwSize = sizeof(PROCESSE
2016-06-16 09:15:27
279
原创 Windows下自定义文件类型如何双击打开,如何双击文件后都在一个实例中打开
1.要实现文件双击打开,需要在注册表中将文件类型与要打开文件的程序相关联。在HKEY_CURRENT_USER\Software\Classes 或者HKEY_LOCAL_MACHINE\Software\Classes 下创建.xxxx/shell/open/command cammand 下创建默认值"程序全路径" "%1"如下图,对于自定义的.fgh文件,在Class
2016-06-14 11:00:04
1749
原创 微软TTS 使用
Win7环境下测试。首先安装 Windows Speech SDK,下载地址为:http://www.microsoft.com/download/en/details.aspx?id=10121,SpeechSDK51.exe是简体中文语音引擎,SpeechSDK51LangPach.exe是中文男生语音库。或者安装win8sdk,集成有语音引擎和语音库。微软本身的语音库中文语音比较生硬
2016-06-01 15:30:51
2791
转载 windows 下简单的定时器 源码加 例子
//windows 下queuetimer 封装,不依赖窗口#pragma once#include static void CALLBACK TimerProc(void*, BOOLEAN);/////////////////////////////////////////////////////////////////////////////////// class CTime
2015-09-11 15:09:13
442
原创 sqlserver 存储过程 参考
if object_id('CTI_SaveTaskCallRes','P') is not null drop proc CTI_SaveTaskCallResgoCREATE proc CTI_SaveTaskCallRes( @TaskID INTEGER,--任务ID @ItemID INTEGER,--条目ID @CallID INTEGER,--呼叫ID @C
2015-08-10 21:26:22
646
转载 ado 使用
1.导入ADO链接库 //stdafx.h#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","adoEOF")rename("BOF","adoBOF")2.初始化com库if(!AfxOleInit()) //LOG3.创建一个数据库
2015-08-10 21:22:04
451
转载 otl 使用
// TODO: 在此处引用程序需要的其他头文件#define OTL_ODBC //OTL连接方式为ODBC#define OTL_STREAM_READ_ITERATOR_ON //使用OTL迭代器#define OTL_STL //OTL使用标准库#include "otlv4.h"otl_connect db; // connec
2015-08-10 20:35:20
488
转载 PE文件格式笔记 一
记录一下PE文件学习笔记,防止以后忘了。一、PE基本结构PE文件从上到下包括下面几个部分:DOS头DOS存根NT头.text节区头.data节区头.rsrc节区头.text节区.data节区.rsrc节区二、PE各部分的意思 1 DOS头一般如下:4D 5A 90 00 03 00 00 00 04 00 00 00 FF FF 00
2015-07-07 17:37:04
637
转载 setsockopt
1.closesocket(一般不会立即关闭而经历TIME_WAIT的过程)后想继续重用该socket:BOOL bReuseaddr=TRUE;setsockopt(s,SOL_SOCKET ,SO_REUSEADDR,(const char*)&bReuseaddr,sizeof(BOOL));2. 如果要已经处于连接状态的soket在调用closesocket后强制关闭,
2015-07-01 16:24:53
384
转载 MFC程序显示控制台,崩溃转储代码
///////////////////////////////////////////////////////////////////////////////#include #include #include #include #pragma comment(lib, "dbghelp.lib")//显示控制台void InitConsoleWindow()
2015-06-23 16:44:47
552
pyqt5.9 + sip4.19.5源码 +编译.zip
2020-11-02
为什么qt drawline 参数为double类型位置出现微小跳变
2021-07-03
TA创建的收藏夹 TA关注的收藏夹
TA关注的人