关闭
当前搜索:

C++/设计模式

C++/设计模式(2010-04-27 23:05:39) 【世界上有10种人,懂二进制的和不懂二进制的。】   定义   设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。   毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,...
阅读(3776) 评论(3)

C++ Boost Thread 编程指南

C++ Boost Thread 编程指南 作者:dozb C++ Boost Thread 编程指南 0 前言 1 创建线程 2 互斥体 3 条件变量 4 线程局部存储 5 仅运行一次的例程 6 Boost线程库的未来 7 参考资料: 0 前言 标准C++线程即将到来。CUJ预言它将衍生自Boost线程库,现在就由Bill带领我们探索一下Boost线程库。就在几年前,用多线程执行程序还是一件非比寻常的事。然而今天互联网应用服务程序普遍使用多线程来提高与多客户链接时的效率;为了达到最大的吞吐量,事务服务器在...
阅读(698) 评论(0)

Qt的事件过滤器

Qt事件模型一个真正强大的特色是一个QObject的实例能够管理另一个QObject 实例的事件。 让我们试着设想已经有了一个CustomerInfoDialog的小部件。CustomerInfoDialog 包含一系列QLineEdit. 现在,我们想用空格键来代替Tab,使焦点在这些QLineEdit间切换。 一个解决的方法是子类化QLineEdit,重新实现keyPressEvent(),并在keyPressEvent()里调用focusNextChil...
阅读(911) 评论(1)

Qt中事件处理的顺序

1.事件首先由Qt的ServerApplication去接收来自于外部或内部的一些行为,鼠标点击,键盘输入,时钟事件等,分析并决定送往对应的对象去处理(内部管理机制,如有机会另文分析),最后会调用bool QCoreApplication::notify ( QObject * receiver, QEvent * event ) [virtual]去处理,当然这个是虚函数,你可以在子类去重新实现它 。 2.在notify(…)中,在发给对应的接收者前,会先把消息送给QA...
阅读(1151) 评论(1)

Qt的signal/slot的4种连接方式

 signal/slot在底层会使用三种方式传递消息。参见QObject::connect()方法:bool QObject::connect ( const QObject * sender, const char * signal, const QObject * receiver, const char * method, Qt::ConnectionType type = Qt::AutoCompatConnection )最后一个参数是就...
阅读(1502) 评论(0)

vs2005 快捷键

vs2005让代码编辑窗口自动换行的快捷键 CTRL+E,CTRL+W...
阅读(532) 评论(0)

extent C

extent C时常在cpp的代码之中看到这样的代码:#ifdef __cplusplusextern "C" {#endif//一段代码#ifdef __cplusplus}#endif  这样的代码到底是什么意思呢?首先,__cplusplus是cpp中的自定义宏,那么定义了这个宏的话表示这是一段cpp的代码,也就是说,上面的代码的含义是:如果这是一段cpp的代码,那么加入extern "C"{和}处理其中的代码。  要明白为何使用extern "C",还得从cpp中对函数的重载处理开始说起。在c++中...
阅读(2291) 评论(0)

预编译头文件

一、预编译头文件使用经验:如果预编译头文件被正确使用时,它确实大大提高我们编程的效率(你工作中,有多少时间是在等编译完成?很多吧,这个时候一般都很无聊,无奈,浪费时间)。但是他太容易用错了. 下面是几种常见的错误用法.1) 在预编译头文件里include自己的头文件(当然, 如果你的头文件不经常变化, 也可以)原因:自己的头文件一般会经常变, 便利后导致预编译的东东重新编译, 降低了编译速度.2) 在其他的头文件里也include 预编译头文件<b...
阅读(513) 评论(0)

预编译头文件

一、预编译头文件使用经验:如果预编译头文件被正确使用时,它确实大大提高我们编程的效率(你工作中,有多少时间是在等编译完成?很多吧,这个时候一般都很无聊,无奈,浪费时间)。但是他太容易用错了. 下面是几种常见的错误用法.1) 在预编译头文件里include自己的头文件(当然, 如果你的头文件不经常变化, 也可以)原因:自己的头文件一般会经常变, 便利后导致预编译的东东重新编译, 降低了编译速度.2) 在其他的头文件里也include 预编译头文件<b...
阅读(467) 评论(0)

Qt的一些鲜为人知但是非常有用的小功能

最近看了stackoverflow上一个讨论,写了篇blog,列举了Qt的一些鲜为人知但是非常有用的小功能: 1. Q_GADGET:不需要从QObject继承就可以使用Qt的Meta Object功能 2. Q_ENUMS:对枚举对象进行反射(reflection) 3. Q_SIGNAL:不需要signals关键字就可以将一个函数指定为singal函数 4. Q_SLOT:不需要slots关键字就可以将一个函数指定为slot函数 5. Q_FOREACH:Qt提供的关键...
阅读(1096) 评论(0)

qrand() 的用法

qrand() 所谓的“伪随机数”指的并不是假的随机数,这里的“伪”是有规律的意思。其实绝对的随机数只是一种理想状态的随机数,计算机只能生成相对的随机数即伪随机 数。计算机生成的伪随机数既是随机的又是有规律的 —— 一部份遵守一定的规律,一部份则不遵守任何规律。比如“世上没有两片形状完全相同的树叶”,这正点到了事物的特性 —— 规律性;但是每种树的叶子都有近似的形状,这正是事物的共性 —— 规律性。从这个角度讲,我们就可以接受这样的事实了:计算机只能产生伪随机数而不是绝对的随机数。 ...
阅读(9567) 评论(0)

QObject是QT所有类的基类

什么是Qt Object Model,主要包括如下的东西 1.信号和槽 2.良好的对象属性,如可查询和很好看,,,~~ 3.有力的事件和事件过滤器 4.国际化字符设计 5.定时器为GUI的事件提供毫秒级的支持 6.很优秀的对象树结构 7.当对象销毁时指针自动设置为0 8.a dynamic cast that works across library boundaries,不知如何翻译 ...
阅读(3147) 评论(0)
    个人资料
    • 访问:716293次
    • 积分:8982
    • 等级:
    • 排名:第2504名
    • 原创:182篇
    • 转载:125篇
    • 译文:1篇
    • 评论:109条
    博客专栏
    初识Qt

    文章:43篇

    阅读:147867
    文章分类
    最新评论