自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 资源 (3)
  • 收藏
  • 关注

转载 理解可变参数va_list、va_start、va_arg、va_end原理及使用方法

参考:http://www.360doc.com/content/12/0309/10/4025635_192940551.shtmlhttp://www.cnblogs.com/AnnieKim/archive/2011/11/25/ellipsis.htmlhttp://intijk.com/others/va_list-%E7%9A%84%E7%94%A8%E6%B3%9

2015-04-30 22:37:04 1116

原创 libevent中的时间及相关的管理

libevent中的时间及相关的管理在介绍时间之前,先说明几个与时间相关的函数及其用法1、基础1.1 clock_gettime(精度比较高,ns级)#include int clock_gettime(clockid_t clk_id, struct timespec *tp);clk_id:检索和设置的clk_id指定的时钟时间CLOCK_REALTIM

2015-04-29 23:27:12 1296

转载 Qt Designer 编辑Tab顺序

很简单!在Qt Designer 中点击“编辑Tab顺序“按钮进入编辑Tab顺序模式,如下图:之后界面会变成这样:点击那些包含数字的蓝色小方框就可以设置Tab顺序了,你第一次点击的数字方框那么该控件的Tab顺序会排在第一位,以此类推。简单吧!

2015-04-28 13:18:28 6176 2

原创 libevent中的hash表

libevent中的hash表的代码在ht-internal文件中,在添加io事件,signal事件时,底层是在操作event_io_map和event_signal_map1、 hash的结构(开链)libevent中的hash表是用宏来定义的#define HT_HEAD(name, type)

2015-04-27 22:08:06 897

原创 qt中关闭窗口资源释放问题

针对QDialog对象,如果是栈上分配的,就不存在资源泄漏问题,但是当对象是new出来的,并且以局部对像存在,每次exec后者需要delete来释放,另外一种方法是在QDialog中设置属性:setAttribute(Qt::WA_DeleteOnClose, true);

2015-04-27 15:53:15 5670

转载 qt的Esc键

Esc键对大家来说实在熟悉不过的了,在Qt中Esc键也会默认的进行一些事件的触发,今天对Esc键测试了一下,突然发现不像我想象的那样,在QDialog中按下Esc键会默认调用reject()方法而不是closeEvent(QCloseEvent *event)或者其他事件。所以在这里如何管理和操作Esc键呢? 1、重新实现reject()方法 void LoginD

2015-04-27 15:44:03 1601

原创 cygwin的安装

从http://www.cygwin.com/下载Cygwin选择安装binutilsgcc-coregcc-g++gdbgcc-mingw-coregcc-mingw-g++

2015-04-25 09:53:15 499

转载 Win8总提示安装FLASH插件怎么办?

解决方案:  1. 进入IE浏览器打开管理加载项,观察flash的加载项是否被禁用,如果禁用请启动该加载项;  2. 通过微软网站下载微软补丁;  http://go.microsoft.com/fwlink/?LinkId=252627 64bit  http://go.microsoft.com/fwlink/?LinkId=252626 32bit  3. 如

2015-04-24 21:43:11 1057

转载 UDP打洞

描述通过UDP路由验证实现NAT穿越是一种在处于使用了NAT的私有网络中的Internet主机之间建立双向UDP连接的方法。由于NAT的行为是非标准化的,因此它并不能应用于所有类型的NAT。其基本思想是这样的:让位于NAT后的两台主机都与处于公共地址空间的、众所周知的第三台服务器相连,然后,一旦NAT设备建立好UDP状态信息就转为直接通信,并寄希望于NAT设备会在分组其实是从另外一

2015-04-24 16:45:12 510

转载 结构体初始化

今天同事聊到内核中结构体初始化,对结构体struct a {int b;int c;}有几种初始化方式:struct a a1 = { .b = 1, .c = 2};或者struct a a1 = { b:1, c:2}或者struct a a1 = { 1, 2};内核喜欢用第一种,使用第一

2015-04-24 15:53:18 691

原创 QSqlDatabasePrivate::addDatabase: duplicate connection name 'qt_sql_default_connection', old connect

qt中连接mysql数据库时提示这个问题,是因为重复调用 QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");在没有指定连接名,默认连接名为qt_sql_default_connection,要避免这个问题,在添加时指定一个连接名,同时在每次添加时,先判断有没有这个连接名,代码如下QSqlDatabase db = QSqlDatabase:

2015-04-23 11:46:55 13502

原创 Qt读写ini文件的问题

qt中写ini文件,ini文件中格式严格要求key=value,对于不包含有等于号的key会将其去年比如my.ini配置文件中的为[mysqldump]quickmax_allowed_packet = 16M[mysql]no-auto-rehash[myisamchk]key_buffer_size = 256Msort_buffer_size = 256Mread

2015-04-23 10:34:17 2330

转载 MySQL删除表数据

在MySQL中有两种方法可以删除数据,一种是DELETE语句,另一种是TRUNCATE TABLE语句。DELETE语句可以通过WHERE对要删除的记录进行选择。而使用TRUNCATE TABLE将删除表中的所有记录。因此,DELETE语句更灵活。  如果要清空表中的所有记录,可以使用下面的两种方法:  DELETE FROM table1  TRUNCATE TABLE ta

2015-04-22 18:44:43 667

原创 qt读写xml文件

写xml文件,以QDomText方式写,代码如下QFile file("d:/test.txt");file.open(QIODevice::WriteOnly);QDomDocument doc;QDomProcessingInstruction instruction;instruction = doc.createProcessingInstruction("xml", "v

2015-04-21 22:03:04 4013

原创 qt连接mysql提示QMYSQL driver not loaded

1、下载 mysql-5.6.24-win322、在qt源码路径Src\qtbase\src\plugins\sqldrivers\mysql中找到MySQL.pro工程文件,添加外部库,即第一步中libmysql.lib的目录,编译生成的文件在src/qtbase/plugins/sqldrivers,将qsqlmysql.dll,qsqlmysqld.dll和qsqlmysqld.pdb复

2015-04-21 21:00:07 1167

原创 修改进程权限

1、首先调用OpenProcessToken获取进程的令牌2、根据要修改的权限名称找到对应的luid,这是通过调用LookupPrivilegeValue3、调用AdjustTokenPrivileges来修改权限代码如下bool improveProcPriv(LPCTSTR str) { HANDLE token; if (!::OpenProcessTo

2015-04-18 22:47:05 822

原创 qt中递归复制目录

//比如要a拷到b目录,目标目录要写成b/abool copyRecursively(const QString &srcFilePath, const QString &tgtFilePath){ QFileInfo srcFileInfo(srcFilePath); if (srcFileInfo.isDir()) { QDir targetDir(tgtFilePath);

2015-04-17 23:48:35 1166

转载 UDP和TCP中的伪首部

伪首部,通常有TCP伪首部和UDP伪首部。在UDP伪首部中,包含32位源IP地址,32位目的IP地址,8位协议,16位UDP长度。通过伪首部的校验,UDP可以确定该数据报是不是发给本机的,通过首部协议字段,UDP可以确认有没有误传。1. 伪首部并非TCP&UDP数据报中实际的有效成分。伪首部是一个虚拟的数据结构,其中的信息是从数据报所在IP分组头的分组头中提取的,既不向下传送也不向上递

2015-04-17 23:02:07 3775

原创 Qt中QAbstractTableModel、QItemDelegate的联合使用

1、继承QAbstractTableModel实现CurrencyModel,需要重写的函数有introwCount(constQModelIndex&parent)const; //返回表的行数intcolumnCount(constQModelIndex&parent)const;//返回表的列数QVariantheaderData(ints

2015-04-16 22:21:24 3956

转载 Qt Model/View 学习笔记 (四)

创建新的Models介绍model/view组件之间功能的分离,允许创建model利用现成的views。这也可以使用标准的功能 图形用户接口组件像QListView,QTableView和QTreeView来显示来自各种数据源的数据为。QAbstractListModel类提供了非常灵活的接口,允许数据源以层次结构的形式来管理信息,也允许以某种方式对数据进行插入、删除、

2015-04-15 22:11:28 692

转载 Model/View 教程

说明:这篇博客基本都是翻译于Qt官方的Model/View Tutorial教程,无法理解的地方建议转到原文,同时,由于译者水平有限,如有差错欢迎指出。原文:http://qt-project.org/doc/qt-5/modelview.html转载注明出处:http://www.cnblogs.com/bestheart/p/3707584.html须知符号:(:…译者自己

2015-04-15 22:05:22 1779

原创 Qt中服务的管理

1、从https://qt.gitorious.org/qt-solutions上下载qtservice,用Qt Creator 打开 buildlib下的buildlib.pro工程,编译后生成lib目录,包含了QtSolutions_Service-head.lib和QtSolutions_Service-head.dll文件。2、新建工程,添加库选择添加外部库选择库目录

2015-04-12 22:10:45 3668 1

原创 Qt中的文件、目录

1、目录类名为QDirQString QDir::absolutePath() const返回的是目录的绝对路径(可能是快捷方式),路径名中不会包含有.和..QString QDir::canonicalPath() const返回的是目录的绝对路径(不是快捷方式),路径名中不会包含有.和..QString dirName() const返回的是仅仅是目录名,如d:\d

2015-04-12 12:38:40 2049

转载 lib和dll文件的区别和联系

什么是lib文件,lib和dll的关系如何 (2008-04-18 19:44:37)    (1)lib是编译时需要的,dll是运行时需要的。 如果要完成源代码的编译,有lib就够了。 如果也使动态连接的程序运行起来,有dll就够了。 在开发和调试阶段,当然最好都有。 (2)一般的动态库程序有lib文件和dll文件。lib文件是必须在编译期就连接到应用程序中的,而dl

2015-04-11 23:41:44 463

原创 Qt连接MySQL

qt中连接mysql的代码如下QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");db.setHostName("localhost"); //设置主机名db.setPort(3306);//设置端口号db.setDatabaseName("sakila"); //设置数据库名db.setUserName("root");

2015-04-11 22:55:31 661

转载 tcp和udp的区别

(1)TCP是面向连接的传输控制协议,而UDP提供了无连接的数据报服务;(2)TCP具有高可靠性,确保传输数据的正确性,不出现丢失或乱序;UDP在传输数据前不建立连接,不对数据报进行检查与修改,无须等待对方的应答,所以会出现分组丢失、重复、乱序,应用程序需要负责传输可靠性方面的所有工作;(3)也正因为以上特征,UDP具有较好的实时性,工作效率较TCP协议高;(4)UDP段结构比

2015-04-11 18:45:47 532

转载 滑动窗口

1基本信息简介滑动窗口(Sliding window )是一种流量控制技术。早期的网络通信中,通信双方不会考虑网络的拥挤情况直接发送数据。由于大家不知道网络拥塞状况,一起发送数据,导致中间结点阻塞掉包,谁也发不了数据。所以就有了滑动窗口机制来解决此问题。参见滑动窗口如何根据网络拥塞发送数据仿真视频。图片是一个滑动窗口的实例:滑动窗口协议是用来改善吞吐量的一种技术,即容许

2015-04-11 18:43:51 2047

转载 负载均衡算法

负载均衡的发展基础就是负载均衡算法。那么针对不同的服务器我们也会采用不同的负载均衡算法,因为他们所具备的和要求的功能各不相同。那么我们现在就来详细了解一下这方面的知识。希望能让大家从中得到需要的东西。服务器负载均衡算法有很多(持续性的和非持续性的),包括轮循算法、最少连接算法、响应时间算法、散列算法、最少连接失误算法,链路带宽算法等等。此外实际服务器(RealServer)可以被分

2015-04-11 18:29:38 799

转载 进程与线程的区别联系

一。什么是进程       进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。       线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。      系统资源:线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同

2015-04-11 18:25:44 396

原创 Qt中用ODBC连接excel中文乱码问题

用ODBC连接读取excel文件中的中文表名时,返回的结果为乱码,是因为qt源代码中获取表名中的函数QStringList QODBCDriver::tables(QSql::TableType type) const在获取字符串值时,不是以unicode方式读的QString fieldVal = qGetStringData(hStmt, 2, -1, false)将false改为tr

2015-04-10 22:51:57 2261

原创 qt用ODBC连接excel

1、连接2007之前的excelQString dbName="Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=D:\\book.xls";注意Driver与(间要有空格DBQ表示要连接的excel文件参考资料:http://www.connectionstrings.

2015-04-09 22:15:48 2850

原创 MySQL5.5下载地址

http://dev.mysql.com/downloads/windows/installer/5.5.html#current-tab

2015-04-09 16:08:27 1214

原创 Qt中用QuaZip来压缩和解压缩文件

1、简介QuaZIP是使用Qt,C++对ZLIB进行简单封装的用于压缩ZIP以及解压缩ZIP的开源库。如果你的Qt项目当中用到了压缩以及解压缩ZIP的话你可以考虑选择使用它。官方主页:http://quazip.sourceforge.net/souceforge下载地址:http://sourceforge.net/projects/quazip/2、编译QuaZip是基于Z

2015-04-08 22:46:57 12454 9

原创 QDir::toNativeSeparators的使用

Qt是跨平台的,windows的文件路径分隔符是\,而linux的分隔符为/,要实现window下编写的程序直接应用到linux下, 在构造文件路径时,可以用QDir::toNativeSeparators

2015-04-08 09:41:45 10197

原创 Qt的UDP编程

实现的是用户登录既是服务器端也是客户端。服务器端:创建UDP端口,绑定固定端口,用信号和槽机制来监听是否有数据来临,如果有,读取数据的消息类型,如果是新用户登录消息,读取新用户信息,在用户列表中添加用户信息,如果是聊天信息,读取信息,显示在聊天窗口中。如果是下线信息,就读取用户信息,用户列表中删除,流程如下:

2015-04-06 13:04:09 2570

原创 Qt添加调试器

1、打开网页:https://msdn.microsoft.com/en-us/windows/hardware/hh852365选择标识的下载2、重新启动QtCreator就可以

2015-04-05 21:47:51 733

原创 QTableView中点击单元格弹出QComboBox

主要是用QItemDelegate,写一个类继承QItemDelegate,实现createEditor(),setEditorData()和setModelData()方法createEditor()实现当双击时,弹出的QComboBox中显示的内容QWidget * ItemDelegate::createEditor(QWidget *parent, const QStyleOpti

2015-04-05 11:42:05 11108 1

原创 Qt中打开文件对话框和保存文件对话框

主要是用QFileDialog的两个静态方法1、打开对话框QString getOpenFileName(QWidget * parent = 0, const QString & caption = QString(), const QString & dir = QString(), const QString & filter = QString(),

2015-04-02 10:12:43 2379

原创 QListView的使用

QListView与QTreeView一样,也是采取的mvc模式,添加数据时,用相应的模式1、初始化时添加数据QStandardItemModel *model = new QStandardItemModel(this);QStandardItem *item = new QStandardItem("item1");model->appendRow(item);item = ne

2015-04-02 09:10:18 8303

flash精彩实例chm

介绍flash基本操作以及mtv制作和as

2009-11-20

Linux C编程一站式学习

添加了GFDL许可证,正式网络发布。第三部分还很粗糙,错误也有不少,有待改进。第一部分和第二部分已经比较成熟,第二部分还差三章没写。

2009-09-11

Ubuntu Linux实用学习教程.pdf

Ubuntu 完全基于 Linux 操作系统, 可以免费得到社区及专业机构的支持。庞大的社区是它成长的沃土,请向这片动人的热忱敞开心扉。

2009-09-11

空空如也

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

TA关注的人

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