自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(631)
  • 资源 (19)
  • 收藏
  • 关注

原创 git 创建远端分支

首先在本地,创建好分支,比如5.6_release,然后将该分支,推送到远端,那么远端分支就创建完成了,

2016-09-21 09:56:40 1292

转载 QTcpSocket 同步函数

目标,qt程序作为客户端,windows下winsock作为服务器端,实现两端通信。开始时写了一个小函数测试:[cpp] view plaincopyprint?QTcpSocket tmpSock;  tcpSock.connectToHost("59.64.159.87",7716);  tcpSock.write(buf,strlen(bu

2016-09-19 22:37:37 4765

原创 0x669586df (QtCored4.dll) 处最可能的异常: 0xC0000005: 写入位置 0xabababab 时发生访问冲突

0x669586df (QtCored4.dll) 处最可能的异常: 0xC0000005: 写入位置 0xabababab 时发生访问冲突        pSubWnd = new PluginMdiSubWidget(this);//加载插件        pSubWnd->setObjectName(PluginBaseInfo->GetPluginName());

2016-09-18 11:44:23 4351

转载 跨dll中使用单例 不要使用模板

C++中模板单例的跨SO(DLL)问题:RTTI,typeid,static,单例(转载请注明原创于潘多拉盒子)C++的模板可以帮助我们编写适合不同类型的模板类,给代码的复用性提供了极大的方便。近来写了一个涉及单例的C++模板类,简化下来可以归结为以下的代码:1234567891011template

2016-08-31 16:10:43 2505

原创 QByteArray的构造 一定要有size(),否则数据不全

QByteArray(    m_spLoginQrResp->qrinfo().c_str(),     m_spLoginQrResp->qrinfo().size()   )

2016-08-31 11:40:09 8380

原创 字符串 字符数组

字符串是一个比较笼统的概念,C、C++中本身并没有“字符串”这种数据类型。所谓的字符串,一般是指,很多字符组成的序列。通常他们会用数组来表示,为了标志字符串已经结束,最后用一个\0,来表示字符串结束了。字符串在代码中,只有两种存在形式,第一种是指针,char* 第二种是数组,char  temp[100];创建字符串有两种方法:一、字符串指针 c

2016-08-31 11:37:02 506

原创 c_sstr()

m_pix.loadFromData( QByteArray(m_spLoginQrResp->qrinfo().data(),m_spLoginQrResp->qrinfo().size()) );c_str()这个函数,会将string截断,会被空白字符截断,

2016-08-31 10:55:37 494

原创 子线程 run() 函数中,调用其他函数

class TestObj: public QObject{    Q_OBJECTpublic:     void EmitSig()    {        emit sigTest();//都是在子线程中,    }    signals:        void sigTest();};TestThread::TestThread

2016-08-24 17:26:22 2024

原创 线程安全 与 跨线程使用 没有任何关系

QObject类,及其子类不是线程安全的,但是,丝毫不妨碍,QObject跨线程使用,所以说,虽然QTcpSocket类不是线程安全的,   但是,按道理来说,该类,可以在子线程和主线程中同时使用,才对

2016-08-24 14:40:11 513

原创 跨线程 信号的连接类型

Qt 需要查看信号发出的线程是不是与接受者所在线程一致,来决定连接类型。注意,Qt 检查的是信号发出的线程(即,信号在哪个Thread中emit的,)classThread :public QThread{Q_OBJECTsignals:    voidaSignal();protected:    voidrun(){

2016-08-24 14:20:46 630

原创 GUI类 只能在主线程中被使用,不能跨线程使用

此外,QWidget及其子类,以及所有其它 GUI 相关类(即便不是QObject的子类,例如QPixmap),甚至不是可重入的:它们只能在 GUI 线程访问。

2016-08-24 14:06:09 1970

原创 线程安全 问题 如何判断一个类是否是线程安全的

值得注意的一点是,QObject及其所有子类都不是线程安全的(但都是可重入的)。因此,你不能有两个线程同时访问一个QObject对象,除非这个对象的内部数据都已经很好地序列化(例如为每个数据访问加锁)。

2016-08-24 14:05:10 7827

原创 qt中的线程 拥有权 一个对象属于哪个线程

C++class MyThread : public QThread{public: MyThread() { otherObj = new QObject; } private: QObject obj; QObject *otherObj; QScopedPointer yetAnotherObj;};

2016-08-24 14:03:45 3952

转载 QTcpSocket 跨线程 QThread拥有权问题

本文介绍的是Qt中采用多线程Socket编程,由于工作的需要,开始接触Qt的socket编程。Qt里的example是个不错的教程,但是当我把代码移植到多线程的环境时就出问题了:QObject: Cannot create children for a parent that is in a different thread. 由于想要在线程中保留一个socket,以便维持双边通信,因此定

2016-08-24 13:53:19 8521

原创 lib库 找不到 属性配置都没有问题,但就是lib库找不到

自己电脑编译链接没有问题,但是把代码拷贝到别人电脑后,同样的代码,出现lib库找不到,该lib是工程里的htmlEditor.lib库,解决方法,修改该lib名字为1.lib,修改工程的属性配置,依赖库改为1.lib,即可,

2016-08-24 09:50:38 701

转载 error LNK2001: 无法解析的外部符号

[8]出现如下错误的原因一般是动态库没有包进来。__impProjectRun.obj : error LNK2019: 无法解析的外部符号 __imp__StartHistoryLocalModule,该符号在函数 "protected: virtual int __thiscall HiRTDB::CProjectRun::DoStart(void)" (?DoStart@CProject

2016-08-02 16:52:11 2988 1

原创 error LNK2019: 无法解析的外部符号 +++++++++++++++++

指定附件依赖项 lib,指得是,具体依赖的lib的名字,必须指定,否则链接错误,error LNK2019: 无法解析的外部符号 工程右键,属性窗口中,

2016-08-02 16:43:53 711

转载 qt tcp长连接 粘包

一、长连接与短连接1、长连接 Client方与Server方先建立通讯连接,连接建立后不断开, 然后再进行报文发送和接收。2、短连接 Client方与Server每进行一次报文收发交易时才进行通讯连接,交易完毕后立即断开连接。此种方式常用于一点对多点通讯,比如多个Client连接一个Server。二、什么时候需要考虑粘包问题?1、如果利用tcp每次发送数据,就与对方建立连接

2016-08-01 15:27:15 2444 1

原创 长连接 概念

短连接是指通讯双方有数据交互时,就建立一个连接,数据发送完成后,则断开此连接,即每次连接只完成一项业务的发送。 长连接多用于操作频繁,点对点的通讯,而且连接数不能太多情况。每个TCP连接都需要三步握手,这需要时间,如果每个操作都是短连接,再操作的话那么处理速度会降低很多,所以每个操作完后都不断开,下次处理时直接发送数据包就OK了,不用建立TCP连接。例如:数据库的连接用长连接,如果用短连接

2016-08-01 15:14:13 334

原创 http 长连接 ++++++++++++++++++ 手动维持 长连接

//http??????            //m_pSimpleHttp =  new SimpleHttp(HTTP_KEEPALIVE,this);//????? ?http??------------------- NetWorkCommunication?????SimpleHttp???            //?m_pSimpleHttp?? http???

2016-08-01 15:13:33 902

转载 list vector 时间复杂度

vector从名字看,随机访问的复杂度应该是O(1)插入 vector  O(n)list 插入是O(1)linkedList random access的时间复杂度为O(n),find的时间复杂度为O(n),

2016-08-01 10:50:09 10142

转载 时间复杂度

根据定义,可以归纳出基本的计算步骤1. 计算出基本操作的执行次数T(n)    基本操作即算法中的每条语句(以;号作为分割),语句的执行次数也叫做语句的频度。在做算法分析时,一般默认为考虑最坏的情况。2. 计算出T(n)的数量级    求T(n)的数量级,只要将T(n)进行如下一些操作:    忽略常量、低次幂和最高次幂的系数    令f(n)=T(n)的数量级。

2016-08-01 10:45:47 350

转载 修改环境变量后,不需要重启电脑,但是需要重启exe

这里要理解的是,一个程序启动时,环境变量被复制到该程序所在的环境中,在该程序执行过程中不会被除该程序以外的其他程序所改变。也就是说,假设我们启动了一个cmd程序,然后通过控制面板修改了环境变量设置,但是已经启动了的cmd所拥有的环境变量并不会被改变。如果我们在修改环境变量之后启动cmd程序,则该程序将拥有新的环境变量。那么结论就很明显了:修改环境变量之后,如果受影响的是应用程序,那么只要简

2016-07-29 10:23:43 7544 1

转载 Qt 使用QPluginLoader 加载外部dll的方法笔记

[cpp] view plain copy 项目的一个需求是提供一个dll文件给其他 可执行文件调用。借这个机会也正好可以解决我之前一个在线升级使用更新dl方法l的思路。在此记录一下。各位大神如果有其他方法和思路欢迎一起探讨或者赐教。。dll 调用接口 :[cpp] view plain copy class IU

2016-07-28 14:24:08 3941

原创 角色 权限

一个子账号,对应一个角色,一个角色有多个权限。角色:仓库管理员,权限:订单管理,物品管理,

2016-07-12 16:09:08 332

转载 qt 预言家 翻译

虽然时间已过去很久,但我还是要回复一下,因为我找到了解决方法,希望能对其他人有帮助。问题的原因在于:QTextEdit中使用的对象QWidgetTextControl中的复制、粘贴等右键菜单选项在qt_zh_CN.qm中没有被翻译。解决方法:打开qt-everywhere-opensource-src-5.2.0\qtbase\src\widgets目录,用Qt Creator打开widg

2016-07-04 10:48:31 1171

转载 qt 打印 刻度尺 曲线 复杂图像

图表费点劲还可以用Html(textDocument.setHtml(html); textDocument.print(&printer);)的方法实现。曲线图呢?坐标轴的刻度尺,刻度对应的数字大小、位置,曲线缩放比例,每一个绘图点的绝对及相对坐标(绝对坐标零点是在纸的左上角,相对坐标零点是在坐标轴的左下角)……。在网上查阅了一些资料,在有些网友提供的代码里,他们还真的是一笔一笔画出来的,计算图

2016-07-04 10:30:42 2817

转载 QPixmap 透明

QPixmap temp(pix1.size());temp.fill(Qt::transparent);

2016-06-29 14:06:23 2598

转载 去除QComboBox中item项的虚线

把这句话,加到qss文件里:QComboBox QAbstractItemView {outline: 0px;}我再一次相信,技术相关的问题,一定要去google上去搜,百度真心垃圾..

2016-06-23 10:46:24 921

原创 DEVENV.COM c++持续集成工具

关于C++的持续集成用哪个工具在网上根本没找到C++语言做持续集成的资料,只有做JAVA的一些资料,有高手做过没有。用的哪个工具做的,具体怎么配置请指教??Msbuild,nant等 或直接用DEVENV.COMDEVENV.COM就是安装VS自带的一个命令行工具,可以通过敲命令 -h查看帮助DEVENV.

2016-06-07 16:33:04 958

原创 QBuffer的使用

QBuffer主要解决,char*类型的值,比如共享内存中,data()返回的char* 类型的值,    QBuffer buffer;    buffer.setData( static_cast( m_mem.data() ),m_mem.size() );    QString strt = buffer.data();不需要跟QDataStream扯在

2016-06-03 16:38:30 6074

原创 QSharedMemory

QSharedMemory首先是setKey(),这是标记共享内存的一个标识符,在整个操作系统的共享内存中,用这个key去标识它,唯一标识。attach()函数,在workstation.exe进程中,调用 该共享内存的attach()函数,注意是,将该exe绑定到该共享内存中,如果要使用某个共享内存,必须要想将exe绑定到共享内存中,只有绑定成功,才能使用,

2016-06-03 15:18:48 4486

转载 QSharedMemory 共享内存 进程间通信

QT间进程通信之共享内存 Qt提供了一种安全的共享内存的实现QSharedMemory,以便在多线程和多进程编程中安全的使用。比如说QQ的聊天的客户端,这里有个个性头象,当点击QQ音乐播放器的时候,启动QQ音乐播放(启动一QQ音乐播放器的进程)这时QQ音乐播放器里也有一个个性头像,这两者间的头像一样,现用共享内存的方法实现。先说下实现共享内存的步骤,然后用一具体的实例说明。向共享内

2016-06-03 15:11:45 3070 4

原创 QDialog的accept()函数和reject()函数

QDialog的accept()函数和reject()函数这两个函数作用分别是:都能够隐藏QDialog,但是返回值不同,一个是Accepted,一个是Rejected,返回值不同的作用是:区分用户按下的OK按钮,还是Cancel按钮。

2016-06-03 14:58:27 14880 1

原创 QDialog accept()函数 和 QCloseEvent的accept()

QDialog的槽函数accept(),作用:隐藏此框并设置结果为Accepted。QCloseEvent类的accept()函数的作用一样:关闭该QWidget,        void DownloadWidget::closeEvent(QCloseEvent* event)        {            if (!m_bCancel)         

2016-06-03 14:48:22 4657

转载 event()函数 事件分发处理函数

今天要说的是event()函数。记得之前曾经提到过这个函数,说在事件对象创建完毕后,Qt将这个事件对象传递给QObject的event()函数。event()函数并不直接处理事件,而是将这些事件对象按照它们不同的类型,分发给不同的事件处理器(event handler)。event()函数主要用于事件的分发,所以,如果你希望在事件分发之前做一些操作,那么,就需要注意这个event()函数了

2016-06-03 14:43:28 1769

转载 qevent accpt()和ignore() closeEvent()事件

Close事件有点不同(与其他的事件,mouse,key等不同),调用QCloseEvent:ignore()取消了关闭操作,而accept()告诉Qt继续执行正常的关闭操作。而且closeEvent()事件处理函数中,必须明确的调用,accept()与ignore(),否则默认是accpt()的,即默认情况下,会关闭掉窗口,为了避免混乱,最好是在closeEvent(

2016-06-03 12:05:55 2150

转载 qevent accept()和ignore() 函数

这两个函数accept/ignore的功能,只是设定标记,一些事件类型可以被传递。这意味着假如目标对象不处理一个事件,Qt会试着寻找另外的事件接收者。用新的目标来调用QApplication::notify()。举例来讲,key事件是传递的,假如拥有焦点的Widget不处理特定键,Qt会分发相同的事件给父widget,然后是父亲的父亲,直到最顶层widget。那么何

2016-06-03 12:02:55 3314

转载 qevent 事件的accept()和ignore()

本章内容也是关于Qt事件。或许这一章不能有一个完整的例子,因为对于事件总是感觉很抽象,还是从底层上理解一下比较好的吧!前面说到了事件的作用,下面来看看我们如何来接收事件。回忆一下前面的代码,我们在子类中重写了事件函数,以便让这些子类按照我们的需要完成某些功能,就像下面的代码:void MyLabel::mousePressEvent(QMouseEvent *event)

2016-06-03 11:34:49 12883

转载 qt 事件 详细解释

事件(event)是有系统或者Qt本身在不同的时刻发出的。当用户按下鼠标,敲下键盘,或者是窗口需要重新绘制的时候,都会发出一个相应的事件。一些事件是在对用户操作做出响应的时候发出,如键盘事件等;另一些事件则是由系统自动发出,如计时器事件。 一般来说,使用Qt编程时,我们并不会把主要精力放在事件上,因为在Qt中,需要我们关心的事件总会发出一个信号。比如,我们关心的是QPushButton的鼠

2016-06-03 11:28:42 892

svn 使用教程 多图

svn 使用教程 很多图 易懂

2015-06-08

atl开发指南 带目录 超清晰

atl开发指南 带目录,网上 大部分都是不带目录的,这个是带目录的,而且是高清的,非常清晰。

2014-08-21

VisualC++实践与提高---ActiveX篇

VisualC++实践与提高---ActiveX篇,com篇,用mfc库和atl库开发activex控件。

2014-07-31

com自学视频教程

com自学视频教程,绝对可以下载,共8集。主要讲解com组件相关的知识点以及com如何开发。COM接口与QueryInterface 内容提要: 1、现实中的组件与接口 2、把现实中的思想融入到软件中 3、C++程序中的组件与接口 4、COM组件与COM接口 5、QueryInterface函数,HRESULT类型,IID类型,数据类型转换 计数引用AddRef与Release 内容提要: 1、内存资源何时释放 2、引用计数的原理 3、AddRef与Release的实现与使用 4、引用计数的优化 IDispatch接口与Variant类型 内容提要: 1、IDispatch的简介与作用 2、常用的COM数据类型 3、COM数据类型的转换 4、VARIANT类型的派生类 五:《COM实用入门教程》第四讲:SimpleObject的创建与调用 内容提要: 1、用ATL制作简单对象(Simple Object) 2、在网页中测试简单对象 3、在MFC中测试简单对象 4、在C#中测试简单对象 COM组件注册与智能指针 内容提要: 1、COM组件的注册 2、智能指针的简介 3、智能指针的使用 4、智能指针与COM接口指针的比较 5、智能指针的注意点 七:《COM实用入门教程》第六讲:复合控件与CComBSTR 内容提要: 1、复合控件的创建 2、复合控件的属性 3、BSTR的包装类 4、复合控件的方法 5、复合控件的事件 6、在网页中测试复合控件的属性、方法、事件 7、在MFC中测试复合控件的属性、方法、事件 8、在C#中测试复合控件的属性、方法、事件 简单对象的方法与事件 内容提要: 1、为简单对象添加方法与事件 2、在MFC中实现事件接收器 3、在MFC中测试简单对象的方法与事件 4、测试例子的改进

2014-07-22

设计模式四人帮中文版

四人帮的《设计模式》,经典书籍,被称为设计模式中的“圣经”,这是中文版。

2014-04-01

EffectiveC++ More Effective C++中文版 chm格式

这个压缩包中包含了Effective_C++和 More Effective C++,都是中文版,并且都是chm格式,非常适合喜欢阅读chm格式文档的同学。

2014-03-05

windbg相关自学资料

这是一个压缩包,里面包括windbg的exe安装文件,以及中文版的帮助文档,还有就是windbg的使用教程,很详细,下载这个压缩包后,基本上就能够直接学习使用windbg了

2014-03-04

winsock广播编程

winsock的广播编程代码,是winsock如何进行广播报文的编程。

2014-03-01

vc中内存泄露的检测方法

内存泄露是编程时候经常遇到的问题,但是这个问题有时候很隐蔽,不易被发现和检测出来,这个文档就是在vc和vs编程工具下,教同学们如何检测内存泄露的。

2014-03-01

tcp协议如何处理链接超时

因为tcp协议时三次握手的,所以tcp协议的通信链接时间会很长,尤其是当服务器ip和port不正确的时候,tcp链接的过程很费时间,如何处理链接超时问题就显得很重要了,这个文档就是如何处理该问题的代码。希望对需要的同学有帮助。

2014-03-01

mfc文档视图结构详解

本文详细讲解了mfc的重要部分,文档视图结构,这是mfc中非常重要的一个部分,也是比较难于理解的一个部分,我自己学习这块知识的时候就走了很多的弯路,这个文档讲解的很详细,把来龙去脉都能讲解的很透彻,对学习mfc的同学很有帮助。

2014-03-01

GDB基本命令

gdb的基本命令和常用命令,当手册使用。

2014-03-01

c++实际编程中应该注意的一些问题

c++实际编程中应该特别注意的一些问题 ,讲的很详细,设计到的面很光,几乎涵盖c++的编程中设计到的所有问题,讲解很细致,容易懂。

2014-03-01

c++发展方向

c++的发展方向,主要是些推荐书籍之类的。

2014-03-01

linux操作系统如何更好的自学

这是一个一步步教linux新手自学的教程,里面从最基础知识谈起,循序渐进,包括如何从众多linux中挑选适合新手的linux系统等,适合新手。

2014-03-01

c++学习路线图及其精品推荐书籍

这是真正的c++学习路线图,分windows和linux两个大的方向,以及这个两个大方向的精品推荐书籍,再有就是在网络编程方面的书籍,对于那么学习了c++的语法以后不知道该如何进行下一步学习的同学非常有帮助。

2014-03-01

c++的学习路线图

这是c++的学习路线图,对于学习了c++基础不知道该如何进行下一步学习的同学有很好的指南作用。

2014-03-01

WinDbg中文帮助文档

windbg是微软出的调试工具,能够解决vs不能调试的情况,找到bug,这个是中文帮助文档。

2014-03-01

空空如也

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

TA关注的人

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