自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (26)
  • 收藏
  • 关注

转载 MeeGo程序开发---The First Application

<br />MeeGo的SDK环境配置搞完了,如果每次开启程序都去看和玩镜像里面自带的程序,当然也会觉得没有成就感!<br />所以那我们就开始动手,写自己的第一个MeeGo程序。好,那废话不多说了,开始动手吧。<br />ps:本文基于ubuntu10.04<br />一.准备工作<br />  1.安装和配置基于Xephyr的模拟器环境(http://www.meegoq.com/forum.php?mod=viewthread&tid=36&extra=page%3D1)<br />  2.安装Qt

2010-09-12 13:02:00 775

转载 Qt核心剖析: moc

<br />前面我们说过,Qt 不是使用的“标准的” C++ 语言,而是对其进行了一定程度的“扩展”。这里我们从Qt新增加的关键字就可以看出来:signals、slots 或者 emit。所以有人会觉得 Qt 的程序编译速度慢,这主要是因为在 Qt 将源代码交给标准 C++ 编译器,如 gcc 之前,需要事先将这些扩展的语法去除掉。完成这一操作的就是 moc。<br />moc 全称是 Meta-Object Compiler,也就是“元对象编译器”。Qt 程序在交由标准编译器编译之前,先要使用 moc 分

2010-09-12 13:00:00 590

转载 Qt核心剖析:信息隐藏(3)

<br />前面我们已经看到了怎样使用标准的 C++ 代码以及 Qt 提供的 API 来达到信息隐藏这一目标。下面我们来看一下 Qt 是如何实现的。<br />还是以 QObject 的源代码作为例子。先打开 qobject.h,找到 QObjectData 这个类的声明。具体代码如下所示:QObjectData {  public:         virtual ~QObjectData() = 0;         // others  };  <br />然后在下面就可以找到 QObject 的声明

2010-09-12 12:58:00 636

转载 Qt核心剖析:信息隐藏(2)

<br />下面在上一篇的基础上,我们进入Qt的源代码,看看Qt4.x是如何实现 Private Classes 的。<br /><br />正如前面我们说的,或许你会看到很多类似 Q_D 或者 Q_Q 这类的宏。那么,我们来试着看一下这样的代码:void MyClass::setFoo( int i ) {     Q_D(MyClass);     d->m_foo = i; }  int MyClass::foo() const {     Q_D(const MyClass);     ret

2010-09-12 12:57:00 796

转载 Qt核心剖析:信息隐藏(1)

<br />如果你阅读了 Qt 的源代码,你会看到一堆奇奇怪怪的宏,例如 Q_D,Q_Q。我们的Qt源码之旅就从理解这些宏说起。<br />下面先看一个C++的例子。class Person     {     public:         Person(){}         ~Person(){}         string name();         void setName(string name);         int age();         void setAge(int a)

2010-09-12 12:56:00 692

转载 Qt学习之路(60): 创建shared library

<br />前段时间说了Qt一些类库的使用,今天来换一下口味,来看一下程序设计的问题。今天来说的是关于共享库 shared library。<br />如果你打开一些 Windows 应用程序的目录,你会发现有很多程序的 exe 文件都很小,大约几百K 的样子,并且目录中不仅仅只有一个 exe 文件,还包含着一大堆 dll 文件。这些 dll 其实就是一些共享库,所谓共享库,其实就是一些动态链接库,能够由程序在运行时进行动态加载的库。既然说是共享,那就是说,这些库不仅仅自己的程序可以使用,并且其他程序也可以

2010-09-03 23:43:00 455

转载 Qt学习之路(59): 编写跨平台的程序

<br />看到评论里面有朋友抱怨以前文章里面的例子都是 for Windows 的,没有 for Linux 或者 for Mac 的。那么今天就来说说跨平台的问题吧! <br />所谓跨平台,其实有两种含义,一是跨硬件平台,一是跨软件平台。对于硬件平台,很多时候我们都会不自觉的忽略掉,因为硬件差异虽然很大,但是我们能够接触到的却很少。目前 PC 系列基本都是兼容的,并且编译器可能会帮助我们完成这个问题,因此如果你的程序没有用到汇编语言,基本很难考虑到这种跨平台的支持。但是,如果你的程序需要接触到硬件,不

2010-09-03 23:41:00 430

转载 Qt学习之路(58): 进程间交互

<br />所谓 IO 其实不过是与其他设备之间的数据交互。在 Linux 上这个概念或许会更加清楚一些。Linux 把所有设备都看作是一种文件,因此所有的 IO 都归结到对文件的数据交互。同样,与其他进程之间也存在着数据交互,这就是进程间交互。<br />为什么需要进程间交互呢?Qt 虽然是一个很庞大的库,但是也不能面面俱到。每个需求都提供一种解决方案是不现实的。比如操作系统提供了查看当前文件夹下所有文件的命令(Windows 下是 dir, Linux 下是 ls),那么 Qt 就可以通过调用这个命令获

2010-09-03 23:40:00 573

转载 Qt学习之路(57): 文本文件读写

<br />二进制文件比较小巧,但是不是人可读的格式。文本文件是一种人可读的格式的文件,为了操作这种文件,我们需要使用QTextStream类。QTextStream和QDataStream的使用类似,只不过它是操作纯文本文件的。还有一些文本格式,比如XML、HTML,虽然可以由QTextStream生成,但Qt提供了更方便的XML操作类,这里就不包括这部分内容了。<br />QTextStream会自动将 Unicode 编码同操作系统的编码进行转换,这一操作对程序员是透明的。它也会将换行符进行转换,同样

2010-09-03 23:38:00 676

转载 Qt学习之路(56): 二进制文件读写

今天开始进入 Qt 的另一个部分:文件读写,也就是 IO。文件读写在很多应用程序中都是需要的。Qt 通过 QIODevice 提供了IO的抽象,这种设备(device)具有读写字节块的能力。常用的IO读写的类包括以下几个:QFlie访问本地文件系统或者嵌入资源QTemporaryFile创建和访问本地文件系统的临时文件QBuffer读写 QByteArrayQProcess运行外部程序,处理进程间通讯QTcpSocketTCP 协议网络数据传输QUdpSocket传输 UDP 报文QSslSocket使用

2010-09-03 23:37:00 646

转载 Qt学习之路(55): 剪贴板操作

<br />剪贴板的操作经常和前面所说的拖放技术在一起使用,因此我们现在先来说说剪贴板的相关操作。<br />大家对剪贴板都很熟悉。我们可以简单的把它理解成一个数据的存储池,可以把外面的数据放置进去,也可以把里面的数据取出来。剪贴板是由操作系统维护的,所以这提供了跨应用程序数据交互的一种方式。Qt 已经为我们封装好很多关于剪贴板的操作,因此我们可以在自己的应用中很容易的实现。下面还是从代码开始:<br />clipboarddemo.h#ifndef CLIPBOARDDEMO_H  #define CLI

2010-09-03 23:35:00 990

转载 Qt学习之路(54): 自定义拖放数据对象

前面的例子都是使用的系统提供的拖放对象 QMimeData 进行拖放数据的存储,比如使用 QMimeData::setText() 创建文本,使用 QMimeData::urls() 创建 URL 对象。但是,如果你希望使用一些自定义的对象作为拖放数据,比如自定义类等等,单纯使用 QMimeData 可能就没有那么容易了。为了实现这种操作,我们可以从下面三种实现方式中选择一个:将自定义数据作为 QByteArray 对象,使用 QMimeData::setData() 函数作为二进制数据存储到 QMimeD

2010-09-03 23:34:00 687

转载 Qt学习之路(53): 拖放技术之二

很长时间没有来写博客了,前段时间一直在帮同学弄一个 spring-mvc 的项目,今天终于做完了,不过公司里面又要开始做 flex 4,估计还会忙一段时间吧!接着上次的说,上次说到了拖放技术,今天依然是一个例子,同样是来自《C++ GUI Programming with Qt 4, 2nd Edition》的。这次的 demo 还算是比较实用:实现的是两个 list 之间的数据互拖。在很多项目中,这一需求还是比较常见的吧!下面也就算是抛砖引玉了啊!projectlistwidget.h#ifndef PR

2010-09-03 23:33:00 432

转载 Qt学习之路(52): 拖放技术之一

拖放 Drag and Drop,有时又被称为 DnD,是现代软件开发中必不可少的一项技术。它提供了一种能够在应用程序内部甚至是应用程序之间进行信息交换的机制,并且,操作系统与应用程序之间进行剪贴板的内容交换,也可以被认为是 DnD 的一部分。DnD 其实是由两部分组成的:Drag 和 Drop。Drag 是将被拖放对象“拖动”,Drop 是将被拖放对象“放下”,前者一般是一个按下鼠标的过程,而后者则是一个松开鼠标的过程,这两者之间鼠标一直是被按下的。当然,这只是一种通常的情况,其他情况还是要看应用程序的具

2010-09-03 23:31:00 460

转载 Qt学习之路(tip): Qt容器和算法拾遗

<br />Qt提供了另外的容器,比如QPair<T1, T2>,可以存储两个值,类似于std::pair<T1, T2>。还有QVarLengthArray<T, Prealloc>,这是一个QVactor<T>的低级实现。因为它需要预分配内存,并且没有隐式的内存共享机制。但是它的开销低于QVector<T>,更适合资源紧张的情况。<br />关于Qt的通用算法,还有qCopyBackward()和qEqual()两个。具体可以查阅Qt文档中Algorithnms一章。

2010-09-03 23:30:00 600

转载 Qt学习之路(51): QByteArray和QVariant

<br />前面我们在介绍QString的最后部分曾经提到了QByteArray这个类。现在我们就首先对这个类进行介绍。<br />QByteArray具有类似与QString的API。它也有相应的函数,比如left(), right(), mid()等。这些函数不仅名字和QString一样,而且也具有几乎相同的功能。QByteArray可以存储原生的二进制数据和8位编码的文本数据。这句话怎么理解呢?我们知道,计算机内部所有的数据都是以0和1的形式存储的。这种形式就是二进制。比如一串0、1代码:1000,计

2010-09-03 23:29:00 609

转载 Qt学习之路(50): QString

<br />这段时间回家,一直没有来得及写,今天才发现博客的编辑器有了新版。还是先来试试新版编辑器的功能吧!<br />今天要说的是QString。之所以把QString单独拿出来,是因为string是很常用的一个数据结构,甚至在很多语言中,比如JavaScript,都是把string作为一种同int等一样的基本数据结构来实现的。<br />每一个GUI程序都需要string,这些string可以用在界面上的提示语,也可以用作一般的数据结构。C++语言提供了两种字符串的实现:C风格的字符串,以'/0‘结尾;

2010-09-03 23:27:00 543

转载 Qt学习之路(49): 通用算法

关于Qt的model-view部分就告一段落,今天我们开始新的部分。或许有些朋友觉得前面的部分说得很简单。对此我也没有办法,毕竟,Qt是一个很庞大的库,一时半会根本不可能穷尽所有内容,并且我也有很多东西不知道,有时候也必须去查找资料才能明白。 今天开始的部分是关于Qt提供的一些通用算法。这部分内容来自C++ GUI Programming with Qt 4, 2nd Edition。 <QtAlgorithms>提供了一系列通用的模板函数,用于实现容器上面的基本算法。这部分算法很多依赖于STL风格的遍历器

2010-09-03 23:24:00 548

转载 Qt学习之路(48): 自定义委托

好久没有来写文章了,由于家里面宽带断了,所以一直没能更新,今天现在写上一篇。 还是继续前面的内容。前面我们分三次把自定义model说完了,其实主要还是那三个实例。在 model/view 架构中,与model同等重要的就是 view。 我们知道,在经典的 MVC 模型中,view用于向用户展示 model 的数据。但是,Qt提供的不是 MVC 三层架构,而是一个 model/view 设计。这种设计并没有包含一个完整而独立的组件用于管理用户的交互。一般来说,view仅仅是用作对model数据的展示和对用户输

2010-09-03 23:22:00 562

转载 Qt学习之路(47): 自定义Model之三

今天来说的是自定义model中最复杂的例子。这个例子同样也是出自C++ GUI Programming with Qt 4, 2nd Edition这本书。 这个例子是将布尔表达式分析成一棵树。这个分析过程在离散数学中经常遇到,特别是复杂的布尔表达式,类似的分析可以比较方便的进行表达式化简、求值等一系列的计算。同样,这个技术也可以很方便的分析一个表达式是不是一个正确的布尔表达式。在这个例子中,一共有四个类:Node:组成树的节点; BooleaModel:布尔表达式的model,实际上是一个tree mod

2010-09-03 23:19:00 619

转载 Qt学习之路(46): 自定义model之二

前面的例子已经比较清楚的给出了自定义model的方法,就是要覆盖我们所需要的那几个函数就可以了。但是,前面的例子仅仅是简单的展示数据,也就是说数据时只读的。那么,如何能做到读写数据呢?那就要来看进来的例子了。这个例子也是来自C++GUI Programming with Qt 4, 2nd Edition这本书的。 还是先来看代码吧: citymodel.h class CityModel : public QAbstractTableModel <br />{ <br />        Q_OBJECT

2010-09-03 23:16:00 508

C安全编码标准 开发C安全编码标准 开发安全、可靠、稳固系统的98条规则

C安全编码标准 开发安全、可靠、稳固系统的98条规则 原书第2版,绝对提升C语言效率的金科玉律。

2018-03-03

深入理解C++11

深入理解C++11规范,对于掌握和深入理解C++11标准绝对的佳作!

2018-03-03

C和C++安全编码

C和C++安全编码的大神之作,对于掌握C和C++安全编码技术有很大的提升!

2018-03-03

C安全编码标准

学习和写C代码的神作,对于提升C语言代码有很大的帮助,掌握C语言安全编码标准,成为C开发大神!

2018-03-03

professional .rootkits(中文版)

学习逆向工程和破解技术的经典之作,国外大牛的呕心之作。

2014-12-04

汇编语言王爽

汇编语言王爽版,学习汇编语言的经典入门书籍

2013-12-03

IDA Pro权威指南

IDA Pro权威指南,关于IDA Pro软件的权威指导手册

2013-12-02

SMT技术培训

SMT贴片技术培训文档,可以快速的了解SMT技术

2013-04-24

MFC.BSC文件,安装VS2003缺少时可用

MFC.BSC文件,安装VS2003缺少时可用

2012-12-04

ARM 593相关文件

关于ARM开发环境的RVCT相关文件,支持Windows平台

2012-10-29

XML---编程宝典

XML编程宝典(PDF),关于XML编程的经典之作!

2009-05-06

codeguru visual c++编程精粹6

codeguru visual c++编程精粹6

2009-05-06

codeguru visual c++编程精粹5

codeguru visual c++编程精粹5

2009-05-06

codeguru visual c++编程精粹4

codeguru visual c++编程精粹,codeguru网站高手的经典之作!

2009-05-06

codeguru visual c++编程精粹3

codeguru visual c++编程精粹,codeguru网站高手的经典之作!

2009-05-06

codeguru visual c++编程精粹2

codeguru visual c++编程精粹,codeguru网站高手的经典之作!

2009-05-06

codeguru visual c++编程精粹

codeguru visual c++编程精粹,codeguru网站高手的经典之作!

2009-05-06

TEA5710; TEA5710T芯片资料!

TEA5710; TEA5710T芯片的详细介绍!

2009-05-06

tea5767开发包!

tea5767开发包,对tea5767有详细地介绍并附带tea5767调试程序!

2009-05-06

TEA5712开发包!

TEA5712芯片的开发包,对TEA5712有比较详细地介绍,并附带了TEA5712调试程序!

2009-05-06

TEA5990使用文档!

TEA5990芯片的使用手册,内容较全!

2009-05-06

TEA5990芯片资料!

对NXP出的这款FM芯片的比较全面地介绍!

2009-05-06

NXP_IDs设计文档!

NXP平台的绝密资料,对于NXP平台的设计框架和各个模块有比较详细地介绍!

2009-05-06

串口通信协议.doc

很好的关于串口通信的资料,绝对经典,关于此通信协议的好东东!

2008-11-24

空空如也

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

TA关注的人

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