03 2017 档案
QVariant类及QVariant与自定义数据类型转换的方法
摘要:这个类型相当于是Java里面的Object,它把绝大多数Qt提供的数据类型都封装起来,起到一个数据类型“擦除”的作用。比如我们的 table单元格可以是string,也可以是int,也可以是一个颜色值,那么这么多类型怎么返回呢?于是,Qt提供了这个QVariant类型,你可以把这很多类型都存放进去, 阅读全文
posted @ 2017-03-16 16:43 苦涩的茶 阅读(44962) 评论(0) 推荐(2)
Qt中如何根据类名来实例化对象
摘要:对于Qt 来说,是可以做到运行时,根据对象的类名字(字符串)来获得对象的实例的,这点和一些语言的反射机制是一样的。但是在Qt中,我们需要所额外的一步,就是注册。只要做到了注册,我们就可以 自由的创建对象了。 C/C++ code ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 阅读全文
posted @ 2017-03-16 16:00 苦涩的茶 阅读(2720) 评论(0) 推荐(0)
模板的全特化与偏特化
摘要:模板为什么要特化,因为编译器认为,对于特定的类型,如果你能对某一功能更好的实现,那么就该听你的。 模板分为类模板与函数模板,特化分为全特化与偏特化。全特化就是限定死模板实现的具体类型,偏特化就是如果这个模板有多个类型,那么只限定其中的一部分。 先看类模板: [cpp] view plain copy 阅读全文
posted @ 2017-03-16 15:55 苦涩的茶 阅读(851) 评论(0) 推荐(0)
为什么c++中,有时可以用类名直接访问非静态成员函数?
摘要:正规的C++语言标准目前(截止到C++14)应该还不支持这种调用方法。目前微软似乎在它的VC++中推行一种叫做C++/CLI的标准,有可能会支持这种调用,如果一定要用这种调用方法的话,还应该用VS2013尝试编译运行一下。 实际上,C++语言中类的静态成员函数本身应该是所有这一类对象的集体所具有的行 阅读全文
posted @ 2017-03-16 15:48 苦涩的茶 阅读(817) 评论(0) 推荐(1)
C++引用详解
摘要:引用的概念 引用:就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。 引用的声明方法:类型标识符 &引用名=目标变量名; 如下:定义引用ra,它是变量a的引用,即别名。 int a; int &ra=a; (1)&在此不是求地址运算符,而是起标识作用。 (2)类型标识符是指目标变 阅读全文
posted @ 2017-03-16 15:26 苦涩的茶 阅读(405) 评论(0) 推荐(0)
重点:QObject 的拷贝构造和赋值操作——私有
摘要:QObject 中没有提供一个拷贝构造函数和赋值操作符给外界使用,其实拷贝构造和赋值的操作都是已经声明了的,但是它们被使用了Q_DISABLE_COPY () 宏放在了private区域。因此所有继承自QObject的类都使用这个宏声明了他们的拷贝构造函数和赋值操作符为私有。 为什么要这样做? 我 阅读全文
posted @ 2017-03-16 14:43 苦涩的茶 阅读(524) 评论(0) 推荐(0)
C++模板
摘要:模板是C++支持参数化多态的工具,使用模板可以使用户为类或者函数声明一种一般模式,使得类中的某些数据成员或者成员函数的参数、返回值取得任意类型。 模板是一种对类型进行参数化的工具; 通常有两种形式:函数模板和类模板; 函数模板针对仅参数类型不同的函数; 类模板针对仅数据成员和成员函数类型不同的类。 阅读全文
posted @ 2017-03-16 13:46 苦涩的茶 阅读(252) 评论(0) 推荐(0)
Q_UNUSED() 方法的使用
摘要:Q_UNUSED() 没有实质性的作用,用来避免编译器警告 阅读全文
posted @ 2017-03-14 16:55 苦涩的茶 阅读(2340) 评论(0) 推荐(1)
QT:QObject 简单介绍
摘要:QObject 是所有Qt对象的基类。 QObject 是Qt模块的核心。它的最主要特征是关于对象间无缝通信的机制:信号与槽。使用connect()建立信号到槽的连接,使用disconnect()销毁连接,使用blockSignals()暂时阻塞信号以避免无限通知循环,使用connectNotify 阅读全文
posted @ 2017-03-14 16:53 苦涩的茶 阅读(5879) 评论(0) 推荐(0)
C++类(Class)总结
摘要:一、C++类的定义 C++中使用关键字 class 来定义类, 其基本形式如下:class 类名{ public: //行为或属性 protected: //行为或属性 private: //行为或属性 public: //行为或属性 protected: //行为或属性 private: //行为 阅读全文
posted @ 2017-03-14 15:30 苦涩的茶 阅读(2033) 评论(0) 推荐(0)
C++中如何访问全局变量和全局函数
摘要:全局变量和全局函数是相对局部变量和局部函数而言的,不在{}或者for, if 等范围内的都是全局变量或者全局函数,最简单的是在同一个文件中去声明。 例如在mian.cpp中 #include <iostream> int gResult; int gAdd(int a, int b) { retur 阅读全文
posted @ 2017-03-14 14:44 苦涩的茶 阅读(3185) 评论(0) 推荐(0)
TCP长连接保持连接状态TCP keepalive设置
摘要:如有转载,请注明出处:http://blog.csdn.net/embedded_sky/article/details/42077321 作者:super_bert@csdn 对于TCP长连接保活是十分必要的,原因如下: 1、系统多在OA网和外网间有防火墙隔离,很多防火墙对一段时间内没有报文活动的 阅读全文
posted @ 2017-03-10 16:00 苦涩的茶 阅读(2918) 评论(0) 推荐(0)
Qt中与文件目录相关操作
摘要:一、与文件目录操作有关操作。 Qt中与文件目录相关的操作在QDir中,需加入#include <QDir>语句。 QDir::drives()是列出电脑根目录下的所有目录,返回的是QFileInfoList。利用其返回的QFileInfo,可以使用QFileInfo::absoluteFilePat 阅读全文
posted @ 2017-03-10 15:53 苦涩的茶 阅读(721) 评论(0) 推荐(0)
QTcpSocket的连续发送数据和连续接收数据
摘要:关于这个问题折腾了我好久,以前做些小练习的时候,用QTcpSocket的write()一数据,然后接收方只要emit一个readyread()信号然后就用QTcpSocket的read()去读。本以为只要发送方write一次,接收方就会响应readyRead信号。其实根本就不是这样的,readyRe 阅读全文
posted @ 2017-03-10 14:44 苦涩的茶 阅读(2924) 评论(0) 推荐(0)
QTcpSocket 发送和接收数据的几种方法
摘要:1、QTcpSocket 继承于QAbstractSocket继承于QIODevice 2、QTcpSocket 提供的几种接收和发送数据方法 write ( const char *, qint64 ) : qint64 write ( const char * ) : qint64 write  阅读全文
posted @ 2017-03-10 14:10 苦涩的茶 阅读(2960) 评论(0) 推荐(0)
QTcpSocket通信编程时阻塞与非阻塞的问题
摘要:目标,qt程序作为客户端,windows下winsock作为服务器端,实现两端通信。 开始时写了一个小函数测试: [cpp] view plaincopyprint? 测试结果发现客户端只能连接到服务器端,而服务器端收不到客户端的消息。 初步揣测也许是Qt的socket机制使得socket缓冲队列没 阅读全文
posted @ 2017-03-10 14:06 苦涩的茶 阅读(2186) 评论(0) 推荐(0)
QT:KeepAliveOption的应用
摘要:由于用QTcpSocket写网络通讯程序,当正常服务端或者客户端断开的时候,我们监测信号即可:Signals:stateChanged(QAbstractSocket::SocketState)。(手动关闭网络连接,也会检测到断开) 但是当若是有一端无故突然被拔掉网线,这个信号就检测不到TcpSoc 阅读全文
posted @ 2017-03-10 14:04 苦涩的茶 阅读(894) 评论(0) 推荐(0)
Qt中使用的C++知识和技能-你必须要了解的
摘要:如果你不确定在使用Qt编程时自己所掌握的C++知识是否够用,这一节的内容会帮到你。这里给出了Qt自身以及在使用Qt进行编程时涉及到的C++知识,因此,通过阅读本节,你会了解你是否缺少一些C++技能。 如果你想对这里提到的C++特性做进一步的了解,我们推荐你看Gregory Satir和Doug Br 阅读全文
posted @ 2017-03-10 14:03 苦涩的茶 阅读(5053) 评论(0) 推荐(0)
网络与多线程的设计模式
摘要:一、概述 本文是一篇关于TCP网络服务端的常用设计模式的笔记,方便自己和已有一定的网络及线程基础知识的人查阅。 二、方式介绍 1. 同步阻塞网络模式: 基本为以下函数的顺序执行: intsocket(int domain, int type, int protocol); intbind(int s 阅读全文
posted @ 2017-03-10 13:41 苦涩的茶 阅读(533) 评论(0) 推荐(0)
网络与多线程的设计例子
摘要:上一篇的《网络与多线程设计模式》讲的是一些设备上的纯理论的东西,本篇将介绍一个本人写的使用EPoll+TcpServer+多线程的开源库,已在https://bitbucket.org/johnson_he/epolltcpserver中供开源下载。 该库使用了Qt的工程方式进行封装(实在不想写co 阅读全文
posted @ 2017-03-10 13:41 苦涩的茶 阅读(210) 评论(0) 推荐(0)
UDP丢包原因
摘要:一、主要丢包原因 1、接收端处理时间过长导致丢包:调用recv方法接收端收到数据后,处理数据花了一些时间,处理完后再次调用recv方法,在这二次调用间隔里,发过来的包可能丢失。对于这种情况可以修改接收端,将包接收后存入一个缓冲区,然后迅速返回继续recv。 2、发送的包巨大丢包:虽然send方法会帮 阅读全文
posted @ 2017-03-10 13:27 苦涩的茶 阅读(655) 评论(0) 推荐(0)
qt中文乱码问题
摘要:以下是dbzhang关于qt中文乱码问题原因的阐述,觉得不错: 首先呢,声明一下,QString 是不存在中文支持问题的,很多人遇到问题,并不是本身 QString 的问题,而是没有将自己希望的字符串正确赋给QString。很简单的问题,"我是中文"这样写的时候,它是传统的 char 类型的窄字符串 阅读全文
posted @ 2017-03-09 15:15 苦涩的茶 阅读(690) 评论(0) 推荐(0)
解决Qt中文乱码以及汉字编码的问题(UTF-8/GBK)
摘要:一、Qt环境设置 文件从window上传到Ubuntu后会显示乱码,原因是因为ubuntu环境设置默认是utf-8,Windows默认都是GBK.Windows环境下,Qt Creator,菜单->工具->选项->文本编辑器->行为->文件编码:默认编码:System(简体中文windows系统默认 阅读全文
posted @ 2017-03-09 15:15 苦涩的茶 阅读(3273) 评论(0) 推荐(1)
【Qt开发】QThread 实用技巧、误区----但文档中没有提到
摘要:本文主要内容: 在任务一中,用 四 种方式实现:点击界面按钮,开线程运行一段程序,结果显示在一个Label上。1. 用不正确的方式得到看似正确的结果2. 用Qt Manual 和 例子中使用的方法3. 用一种好用但被Qt开发人员批判的方法4. 用一种被开发人员强烈推荐,但Qt Manual和例子中只 阅读全文
posted @ 2017-03-09 09:26 苦涩的茶 阅读(424) 评论(0) 推荐(0)
TCP/UDP网络性能测试工具 - Netperf (zz) ..网络测试工具
摘要:在构建或管理一个网络系统时,我们更多的是关心网络的可用性,即网络是否连通,而对于其整体的性能往往考虑不多。 或者即使考虑到性能的问题,但是却发现没有合适的手段去测试网络的性能。 当开发出一个网络应用程序后。 我们会发现,在实际的网络环境使用中。 网络应用程序的使用效果不 是很理想,问题可能出现在程序 阅读全文
posted @ 2017-03-07 08:40 苦涩的茶 阅读(12697) 评论(0) 推荐(0)
wireshark怎么抓包、wireshark抓包详细图文教程
摘要:wireshark怎么抓包、wireshark抓包详细图文教程 wireshark是非常流行的网络封包分析软件,功能十分强大。可以截取各种网络封包,显示网络封包的详细信息。使用wireshark的人必须了解网络协议,否则就看不懂wireshark了。为了安全考虑,wireshark只能查看封包,而不 阅读全文
posted @ 2017-03-03 16:08 苦涩的茶 阅读(392) 评论(0) 推荐(0)
QT:KeepAliveOption的应用
摘要:由于用QTcpSocket写网络通讯程序,当正常服务端或者客户端断开的时候,我们监测信号即可:Signals:stateChanged(QAbstractSocket::SocketState)。(手动关闭网络连接,也会检测到断开) 但是当若是有一端无故突然被拔掉网线,这个信号就检测不到TcpSoc 阅读全文
posted @ 2017-03-03 16:06 苦涩的茶 阅读(6557) 评论(0) 推荐(1)
QTcpSocket使用过程中的一些问题记录
摘要:目前,在将原来C的socket通讯改为使用Qt类库QTcpSocket通讯,在修改过程中遇到不少问题,在此将问题一并记录,以备后面使用。 采用的通讯方式:QTimer定时器、QThread多线程和QTcpSocket通讯。QTimer设置定时通讯间隔(10s),QThread运行定时器响应函数,QT 阅读全文
posted @ 2017-03-02 15:25 苦涩的茶 阅读(12321) 评论(0) 推荐(2)
Qt网络编程QTcpServer和QTcpSocket的理解
摘要:前一段时间通过调试Qt源码,大致了解了Qt的事件机制、信号槽机制。毕竟能力和时间有限。有些地方理解的并不是很清楚。 开发环境:Linux((fedora 17),Qt版本(qt-everywhere-opensource-src-4.7.3)。 Qt网络编程比较常用的两个类:QTcpServer和Q 阅读全文
posted @ 2017-03-02 14:37 苦涩的茶 阅读(3105) 评论(0) 推荐(0)
协议栈是什么
摘要:1.协议栈是什么--简介 协议栈,英语名称为Protocol stack,又称协议堆叠,是计算机网络协议套件的一个具体的软件实现。协议套件中的一个协议通常是只为一个目的而设计的,这样可以使得设计更容易。因为每个协议模块通常都要和其他两个通信,它们通常可以想象成是协议栈中的层。最低级的协议总是描述与硬 阅读全文
posted @ 2017-03-02 13:28 苦涩的茶 阅读(12852) 评论(0) 推荐(0)
QSocket类
摘要:QSocket类提供了一个有缓冲的TCP连接。 详情请见…… #include <qsocket.h> 继承了QObject和QIODevice。 所有成员函数的列表。 公有成员 enum Error { ErrConnectionRefused, ErrHostNotFound, ErrSocke 阅读全文
posted @ 2017-03-02 13:21 苦涩的茶 阅读(2649) 评论(0) 推荐(1)


// 1.生成目录索引列表