自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 资源 (5)
  • 收藏
  • 关注

原创 qt的mqtt编译及使用方法

在qt5.10之前,mqtt需要自己编译库,1.源码路径下载地址:https://github.com/emqx/qmqtt,注意要下载qmqtt-master版本的,不要下载qtmqtt-dev2.生成库文件使用qtcreator打开qmqtt.pro文件,构建src工程,编译报错:Could not create directory "...\qmqtt\Error in " Util.asciify("build-qmqtt-Qt_5_6_3_msvc2013-Debug").

2020-06-13 10:42:37 2509 2

原创 Inno setup打包工具安装和卸载前检查程序是否在运行

方案1:窗口名称判断FindWindowByWindowName原理:通过检查窗口名称来判断程序是否运行说明:如果文件夹名称也叫这个,也会认为是程序,造成错误判断。;RUN msg#define RUNNINGMSG_CH " 正在运行,请先退出!"#define RUNNINGMSG_EN " is running,please quit first!"【co...

2019-09-07 09:34:29 1577

原创 Qt5.6.3搭配QtCharts5.7.0编译

1、首先下载QtCharts5.7.0源码及perl进行安装,下载路径:https://download.csdn.net/download/onlyshi/9431616注意:QtCharts5.7.0不能直接从GitHub下载,会缺少一些文件,如果非要从那里下载,需要先下载gut工具,用git工具下载QtCharts5.7.0源码2、按照文章进行配置:https://blog.cs...

2018-08-07 16:19:42 2764

原创 qt之model

#ifndef QBASETABLEMODEL_H#define QBASETABLEMODEL_H#include <QAbstractTableModel>#include <QList>#include <QIcon>#include "libviewbase_global.h"#define FUNCODE_VIEW_COLUMN  8enum enCo...

2018-07-06 18:05:14 340

原创 innosetup打包程序脚本

; Script generated by the Inno Setup Script Wizard.; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!;安装包exe的输出路径#define OutPutDirectory ".\"  ;文件路径#define MyFi

2017-10-31 20:30:05 871

原创 TCP/UDP的客户端/服务器编程

TCP/UDP,客户端/服务器

2016-05-21 16:28:33 508

原创 禁止和恢复屏保

有时候我们的软件在运行中,是不允许进入屏保的,类似暴风影音看电影一样,调用windows api,用几行代码就能搞定。// 取消屏保void QClientWindow::StopScreenProtect(){bool active = false;SystemParametersInfo(SPI_SETSCREENSAVEACTIVE, false, &active, SP

2016-05-21 15:20:34 1450

原创 qt实现二维码生成

二维码现在成为生活中不可缺少的一部分,但如果能使用程序来生成和解析,将有助于我们的工作。只能使用ASCII字符,如字母、数字等,不支持汉字、图片等。可将二维码保存为图片。由于代码比较大,就不贴在这里了,直接放到资源中,可到那里去下载。 源码下载地址:

2016-05-21 15:13:43 1786

原创 qt下操作串口

qt操作串口

2016-05-21 14:59:14 1139

原创 qt下使用sqlite数据库存储二进制文件

qt下sqlite数据库存储和查询二进制数据

2016-05-21 14:53:11 6646 1

原创 qt导入导出excel和csv

我们经常会碰到导入导出excel、csv的问题,这里由qt实现

2016-05-21 14:45:09 8984 2

原创 inno setup判断软件是否安装过

如果软件已在其它盘安装过,则要求先卸载;如果安装在当前盘,则直接覆盖。通过将每次安装的路径写注册表,卸载时移除注册表。;reg path#define REGPATH "Software\MKT\Config";installed msg#define INSTALLED_CH "系统检测到其它盘已安装过,请先卸载,或覆盖,位于:"#define INSTALLED

2016-03-29 20:03:18 3761

原创 平板电脑重启后mysql不启动

平板电脑(win8或win10),首次安装mysql成功,但重启电脑后,数据库服务启动失败。查看data目录下的err文件,显示ib_logfile0文件读取失败,在my.ini文件的[mysqld]节点加入innodb_flush_method=normal解决了该问题

2016-03-11 17:54:01 564

原创 inno setup修改xml节点

1、在做客户端多语言的安装包时,配置写在了xml文件中(而不是ini文件),就需要在安装的最后修改xml文件的多语言节点,方法为:[Code]// 获取当前语言function MyLangName(): String;      begin                 Result := ActiveLanguage();end;//保存xml文件的语

2016-03-02 19:36:19 3021

原创 win8不能安装mysql

在两台win8电脑上安装mysql都失败了,检查后发现:1、将my.ini文件的[mysqld]字段的default-storage-engine由innoDB改为MYISAM2、删除data目录下的ib_logfile0、ib_logfile1、ibdata1这3个文件3、必须要在管理员权限下其实错误都可以从err文件发现,该文件位于:data/计算机名.err

2016-02-26 18:41:10 1168

原创 qt不能调试

在F5执行qt的调试时,提示:unknown debugger type "No engine"需要下载debug调试工具,win7的下载位于:https://www.microsoft.com/en-us/download/confirmation.aspx?id=8279,安装时,只选择:Common Utilities > Debugging Tools for Windows 

2016-01-26 20:32:40 1560

原创 qt的多语言

用qt这么久了,今天终于用到了多语言qm,具体方法:1、将qt的bin目录添加到环境变量-系统变量的Path中;2、在pro文件中添加TRANSLATIONS = project.ts,其中project为工程名;3、右键工程,选择:“在此弹出命令提示”,输入:“lupdate project.pro”(必须有步骤1,否则提示lupdate不是合法命令),生成了project.ts

2016-01-26 20:11:51 486

原创 c++命令结束进程树

// 停止当前进程及其子进程// 枚举所有的进程   HANDLE  hSnapshot;   hSnapshot = ::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);  // 创建快照   if (INVALID_HANDLE_VALUE != hSnapshot)   {    PROCESSENTRY32 proce

2015-11-30 20:50:45 2501

原创 c#子线程操作ui

子线程本是不能操作ui数据的,但有时候需要更新ui的数据。// 声明WindowsFormsSynchronizationContext _syncContext = WindowsFormsSynchronizationContext.Current as WindowsFormsSynchronizationContext; //调用_syncContext.Post(Fu

2015-11-30 20:47:47 576

原创 c# datagridview属性设置

经过不断的试验,适合自己的属性出炉。 // column head color            dataGridView1.EnableHeadersVisualStyles = false;// must            this.dataGridView1.ColumnHeadersBorderStyle = DataGridViewHeaderBorderStyl

2015-11-30 20:43:19 756

原创 C#的自定义button

button按钮在disable状态下,字体为黑色,设置前景色无效。为解决该问题,自定义一个button,带图标。using System;using System.Collections.Generic;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks

2015-11-30 20:39:28 4480

原创 sql学习笔记

这几天在学sql,做了些笔记,以备忘:as表示一种别名一定要记住,SQL 对大小写不敏感!1、drop通过使用 DROP 语句,可以轻松地删除索引、表和数据库。ALTER TABLE table_name DROP INDEX index_nameDROP TABLE 表名称DROP DATABASE 数据库名称如果我们仅仅需要除去表内的数据,但并不删除表本身T

2015-09-15 19:48:16 311

原创 c#调用c++的回调函数

c++提供回调函数的接口,给c#调用c++:声明:typedef void(*SelfDetectCb)(int result);// 设备名称,状态(1成功,0失败)extern "C" BGISEQEXPORT BOOL WINAPI Seq_AutoSelfDetect(SelfDetectCb callback);实现:extern "C" BGISEQEXPORT

2015-09-11 17:20:29 487

原创 stl的list排序

stl的list提供了sort排序方法,但只针对一般数据类型,若是自定义数据,如结构体等,则需要自己实现。这里提供一种简单的排序方法:struct sortData{ bool operator()(const A& t1,const A& t2){  return t1.at2.a;    //升序,>为降序 }}; 调用:std::list aList;

2015-09-11 17:11:09 600

原创 c#跨线程操作问题

最近在弄c#调用c++接口,通过回调函数上传数据,在c#界面显示。由于该接口为同步(阻塞),回调部分会卡住界面,只有全部数据加载完了才会显示出来。这里通过子线程的方法来操作主界面,让主界面显示出来后,数据一条条显示。外部调用接口:public void SelfAutoDetect()        {            Thread thread = new Thread(B

2015-09-11 16:56:05 479

原创 c#的托管事件

自己实现事件1、子类public delegate void EnableHomeKey(bool enable);// 带一个参数public event EnableHomeKey enableHomeKey;// 控件enable状态enableHomeKey(false);// 控件不可用2、父类childclass.enableHomeKey += childcl

2015-09-08 19:50:26 574

原创 关于运动

身体是革命的本钱,必须加强体育锻炼,我从来不说没时间运动,因为我的运动就在我的生活中,现在已经坚持了快半年,以后继续坚持。1、早上仰卧起坐:60+50+50,3批仰卧抱腿:60+50+50,3批俯卧撑:40+30+20,3批平板撑:2分钟深蹲:60+50+50,3批左右压腰:各50个臂力器:30+10,2批,40kg拉力器:30 一共40-50分钟。

2015-09-08 19:40:02 267

原创 c++传CString到c#

c++提供给c#的接口要获取CStringc#调用:IntPtr ptr = new IntPtr();GetErrorStr( ref ptr);string str = Marshal.PtrToStringAuto(ptr);DeleteMem(ptr);// 释放内存 c++接口BOOL WINAPI GetErrorStr( wchar_t** strIn

2015-09-08 19:30:14 2133

原创 CString的split功能

mfc的CString没有split方法,自己实现之:// 分割void CdecDemoDlg::SplitStr(CString strSrc, CString strGap, CStringArray &strResult){ int nPos = strSrc.Find(strGap); CString strLeft = _T(""); while (0  {

2015-09-08 19:25:05 9244

原创 edit控件实现拖拽

1、c++版 cedit控件.h#pragma once#include "afxwin.h"// CMyEditclass CMyEdit : public CEdit{ DECLARE_DYNAMIC(CMyEdit)public: CMyEdit(); virtual ~CMyEdit();protected: DECLARE_MESSAGE_

2015-09-08 19:19:39 694

原创 vc之CFileDialog打开多个文件

1、打开一个xml文件CFileDialog dlg(TRUE, _T("xml"), NULL, OFN_FILEMUSTEXIST, _T("xml file (*.xml)|*.xml||"), NULL); if (dlg.DoModal() == IDOK) {  m_edtSrcFile.SetWindowText(dlg.GetPathName()); }2、

2015-09-08 19:13:51 2122

原创 主线程实现异步

有一个这样的需求,在主线程中(UI界面),先采数据,后分析数据,比如采一次数据可能要10分钟,分析一次数据要20分钟,一共采两次和分析两次。前面采完的数据在分析时,后面采的数据又过来了,如果发现前面的还在分析,就得等着,直到前面的分析完了才能分析后一个数据。那么问题来了,怎么等呢?方法1,使用Thread,将分析数据放到子线程中但分析数据也会涉及到ui的操作,而ui是不能在子线程中

2015-08-27 18:08:04 1738

原创 c#treeview控件checkbox双击问题

在c#treeview控件对节点checkbox双击时,会出现勾选和实际选中错乱的问题,如明明打勾了,但获取checked状态,仍为false,反之亦然。解决方法是屏蔽其双击操作,将双击转换为单击效果。具体如下public class MyTreeView : TreeView    {        public MyTreeView()        {       

2015-08-25 20:28:58 3056 3

原创 c++加密解密

文件不希望别人看到,实现一种简易的加密解密方法,其过程互逆。void EncDecFile(CString strSrc,CString strDest){fstream fio(strSrc.GetBuffer(0), ios::in | ios::out); if (!fio) {  return false; } ofstream fout(strDest.G

2015-08-25 20:25:01 1394

原创 隐藏文件夹及子文件

要隐藏文件,需要首先遍历文件夹及子文件,再调用SetFileAttributes(szFind, FILE_ATTRIBUTE_HIDDEN);将文件或文件夹隐藏 1、windows api版find(char * lpPath){  char szFind[MAX_PATH];  WIN32_FIND_DATA FindFileData;  strcpy(szFind

2015-06-30 11:39:15 590

原创 关于我的博客

其实从工作的第一天,就有想写博客的冲动,但由于种种原因,都未写成。屈指算来,已经工作快5年了,时间真是如白驹过隙,再不写博客,就真的要老了。但我始终相信一句话,那就是做什么都为时不晚。我本来就是喜欢写东西的人,一可以记录自己的过去,二可以将知识备忘,三可以交到志同道合的朋友,一举三得。所以,从今天开始,我要真正的开始了,原创为主,即使是一个很小的知识点或想法,都会把它记录下来。希望今天的开端有一个

2015-06-24 20:18:07 375

原创 共享内存的使用

BOOL CShareMemoryImage::InitMap(){ EnterCriticalSection(&m_cs); char szBuf[256] = { 0 }; // 获取最小分页大小 SYSTEM_INFO sysinfo; GetSystemInfo(&sysinfo); DWORD dwAllocationGranularity = sysinfo

2015-06-24 20:15:17 462

原创 磁盘空间检查

// 磁盘剩余空间是否足够保存图片void CSequencer::IsDiskSpaceEnough(int nChipIndex){ // 获取保存磁盘的剩余空间 USES_CONVERSION; ULONGLONG totalFreeBytes;// 总剩余空间 ULONGLONG needSpaceBytes;// 需要的空间 ULARGE_INTEGER nT

2015-06-24 20:10:23 400

原创 xml解析与保存

解析// 加载BOOL CConsumStatic::LoadXmlFile(CString strXml){ USES_CONVERSION; TiXmlDocument doc(T2A(strXml)); if (!doc.LoadFile()) {  ZEBRA_HANDLER_AND_RETURN(etInstrumentControl, eciUserDe

2015-06-24 20:03:35 443

原创 inno setup安装包程序完整版

以下是一个短小精悍型的打包程序,先记录下来,以备忘。 ; Script generated by the Inno Setup Script Wizard.; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!;是否安装驱动#define IncludeDrive 0#define I

2015-06-24 19:40:43 2882

qt多语言加载切换及qt各数据类型转换

qt加载qm文件,并快速实现语言切换。另外实现各数据类型的转换,如qstring转float等。

2017-10-31

qt解析excel直接生成ts文件

qt解析xml,将excel的多语言直接转换为ts文件。避免一个个转换ts文件的麻烦

2017-10-31

Asp.NET MVC 5 高级编程第5版

英文版的,顺便学习下英语

2017-01-02

ui草图设计工具

找了很久,终于找到一个免费的ui设计工具,对软件开发的前期ui评审帮助大大的

2016-05-30

生成二维码源码

将输入的字符生成二维码,并能保存为图片。方便我们自己解析用。

2016-05-21

空空如也

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

TA关注的人

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