- 博客(28)
- 资源 (35)
- 收藏
- 关注
原创 简单七招抚平你的“啤酒肚”
对于我们大多数人而言,压力就是生活的一部分。不幸的是,越来越多的研究显示,压力会直接带来体重问题。美国《预防》杂志的最新文章称,压力增大会使得体内的皮质醇水平升高,而皮质醇偏高会令人胃口大开,体重增加。为了不让古怪的激素控制食欲,不妨从现在开始,建立对抗压力脂肪的7个好习惯! 压力带来“啤酒肚” 压力越大肚子越大? “即使你吃的很健康、经常锻炼,长期的重
2010-02-26 10:03:00 1001
原创 持续改善
持续改善 持续改善(kaizen)、现场改善(Gemba Kaizen)什么是持续改善? Kaizen方法最初是一个日本管理概念,指逐渐、连续地增加改善。是日本持续改进之父今井正明在《改善—日本企业成功的关键》一书中提出的,Kaizen意味着改进,涉及每一个人、每一环节的连续不断的改进:从最高的管理部门、管理人员到工人。“持续改善”的策略是日本管理部门中最重要的理念,是日本人竞争成
2010-02-25 10:35:00 1454
原创 TQM
TQM 定义: TQM(Total Quality Management)全面质量管理/全面品质经营,综合质量管理专家的思想精髓,我们认为是一种全员、全过程、全企业的品质经营。它指一个组织以质量为中心,以全员参与为基础,目的在于通过让顾客满意和本组织所有成员及社会受益而达到永续经营的管理途径。 TQM的核心理念 顾客满意: 顾客即供应所提供产品的接受者,可以是组织内部的,
2010-02-25 10:16:00 985
原创 半碗水
有两个行走在沙漠中的旅客,已经走了多日,在他们口渴难忍的时候,碰见一个赶骆驼的老人,老人给了他们每人半碗水.两个人面对同样的半碗水,一个抱怨水太少了,怎足以消解自己身体的饥渴,边抱怨边装那半碗水泼掉.另一个也知道这半碗水不能完全解除身体的饥渴,但他却拥有一种发自心底的感恩,并怀着这份感恩的心情,喝下了这半碗水.结果,前面把水泼掉的人死在沙漠之中,后面的人因为喝了这半碗水终于走出了沙漠.
2010-02-11 14:18:00 1211
原创 最富的乞丐
下雨了,三个乞丐到同一棵树下,为争一片干燥的地皮,打了起来.由于各有绝招,谁都没有占到那块不漏雨的地方.最后他们达成协议,谁最富,谁就坐在那片不漏雨的地方.第一个乞丐端着一只大海碗说:"我有十二只碗,我每天换一只.心情好时,我用一只好碗;心情坏时,我用一只坏碗.我每天都用不同的碗吃饭,难道我不富吗?"第二乞丐放下背上扛着的一卷草席,说:"这算什么富有?我才是真正的富人.我有十二张草席,我每
2010-02-11 14:06:00 1305
原创 Code Project:创建一个Qt RSS阅读器
我们将构建一个完整的应用程序,使其不必太费事便可重新发布为一个真正的开源应用程序。这个应用程序就是一个RSS阅读器,它允许用户添加自己的种子,列出该种子上的内容,然后让用户在主应用程序自带的一个浏览器窗口中阅读这些内容。如果你已经尝试过了我们前两个Qt代码项目——创建一个ffmpeg前端和创建一个媒体播放器,而且正在寻求更多Qt方面的乐趣,那么请读下去…RSS是一个以特定方式进行格式化的X
2010-02-03 15:14:00 1232
原创 Code Project:创建一个FFMPEG前端
命令行没有什么不好。对于我们很多人来说,这是使用Linux的最佳理由之一。可以通过输入内容实现几乎所有功能,而且命令行工具对于它们的运行方式通常能够提供极好的控制。但是命令行并不适合所有人,觉得命令行难以理解和令人生畏的Linux用户数量多得令人吃惊,这或许是完全避免使用Linux的理由之一。尽管如今不愿意使用命令行的用户可以不必再使用它,但这仍然意味着他们将遗漏一些很优秀的实用工具。Qt正好
2010-02-03 15:12:00 1787
原创 Code Project:创建一个媒体播放器
无论从功能还是大小来讲,Amarok都是一款优秀的KDE音乐播放器。但它很难称作是一款快速点选式的音乐播放器,因为它要通过好几次点击和一些仔细的GUI导航才能听到音乐收藏中的音乐,这将给我们的CPU和大脑带来一定负担。这里我们将会构建所能想到的最简单和最直观的音乐播放器,给用户提供另一个选择。从苹果的新款iPod Shuffle吸取一些灵感,只提供最基本的控制功能。一个按钮用于选择音乐,另一个
2010-02-03 15:11:00 1173
原创 Qt 的 Graphics View 框架(三)
关键特性缩放与旋转QGraphicsView通过QGraphicsView::setMatrix()支持同QPainter一样的仿射变换,通过对一个视图应用变换,你可以很容易地支持普通的导航特性如缩放与旋转。下面是一个例子:class View:;public QGraphicsView{Q_OBJECT//.....public slots:void zo
2010-02-03 15:10:00 1184
原创 Qt 的 Graphics View 框架(二)
Graphics View 坐标系统Graphics View基于笛卡尔坐标系。item在场景中的位置与几何形状通过x,y坐标表示。当使用未经变形的视图来观察场景时,场景中的一个单位等于屏幕上的一个 像素。在Graphics View中有三个有效的坐标系统:Item坐标系,场景坐标系,视图坐标系。为了简化你的实现,Graphics View提供了方便的函数,允许三个坐标系之间相互映射。当渲染时
2010-02-03 15:09:00 850
原创 Qt 的 Graphics View 框架(一)
Graphics View提供了一个界面,它既可以管理大数量的定制2D graphical items,又可与它们交互,有一个view widget可以把这些项绘制出来,并支持旋转与缩放。这个框架也包含一个事件传播结构,对于在scene中的这些items,它具有双精度的交互能力。 Items能处理键盘事件,鼠标的按,移动、释放、双击事件,也可以跟踪鼠标移动。Graphics View使用BSP树来
2010-02-03 15:07:00 1170
原创 Inside Qt Series: Preface
写了这么多年的程序,除了留下很多 code (其中有很多是garbage)之外,再没有其它东西,或许我该写点儿什么了,写一些关于我的工作的东西,自己所了解的技术,也把自己在工作过程中新学习的一些东西放在这儿,就算是为了以后做一个参考。第一个”大项目”,就是准备写一个系列文章,专门介绍 Qt Framework 的,这个系列文章不是为 Qt 新手所写的,而是写一个相对来说深入一些的话题,基本思路
2010-02-03 14:35:00 791
原创 Inside Qt Series (十五):Qt/e 输入法,How it works?
前面我们介绍了Qte输入法的基本设计思路,以及一个最简单的例子,那么,Qte的输入法是如何工作的呢?本节我们就来看一下Qte的源代码,一起来解开这个谜团。在Qte的Client/Server体系结构中,QWSServer类负责管理Qte的Server,监听系统事件,尤其是键盘和鼠标事件。当这些监听的事件发生的时候,server会做出判断,这些事件应该发送给那一个客户端。如果当前系统安装了输
2010-02-03 14:34:00 1814
原创 Inside Qt Series (十三):Qt/e体系结构概述
在后续内容中,我对Qt for Embedded Linux一律简称为Qt/e,不再对这个term做更多的解释。需要您注意的一点是,在本系列文章中的任何部分,这个term都是指Qt for Embedded Linux,而不是指Qt for Windows CE 或者 Qt for Symbian.这些内容所适用的软件版本是:Qt for Embedded Linux 4.6, Open So
2010-02-03 14:32:00 1036
原创 Inside Qt Series (十四):Qt/e输入法程序设计指南
注,本输入法设计指南针对Qt for Embedded Linux 4.6,并且以中文输入法为例做说明,并且本文只是侧重于说明Qt/Embedded对输入法的支持接口,并不涉及到如何把键盘输入转换为中文所对应的编码方法。对其它Qt版本的适用性未曾验证。大家都知道,Qt for Embedded Linux是Client/Server结构,在Server端负责监听系统消息,尤其是键盘和鼠标消息,
2010-02-03 14:32:00 1011
原创 Inside Qt Series (十一):emit,幕后的故事
当我们写下一下emit signal代码的时候,与这个signal相连接的slot就会被调用,那么这个调用是如何发生的呢?让我们来逐一解开其中的谜团。让我们来看一段例子代码:class ZMytestObj : public QObject{ Q_OBJECTsignals: void sigMenuClicked(); void sigBtnClicked();};
2010-02-03 14:31:00 1251 1
原创 Inside Qt Series (十二):Qt对象之间的父子关系
很多C/C++初学者常犯的一个错误就是,使用malloc、new分配了一块内存却忘记释放,导致内存泄漏。Qt的对象模型提供了一种Qt对象之间的父子关系,当很多个对象都按一定次序建立起来这种父子关系的时候,就组织成了一颗树。当delete一个父对象的时候,Qt的对象模型机制保证了会自动的把它的所有子对象,以及孙对象,等等,全部delete,从而保证不会有内存泄漏的情况发生。任何事情都有正反两面作
2010-02-03 14:31:00 751
原创 Inside Qt Series (十):connect,幕后的故事
我们都知道,把一个signal和slot连接起来,需要使用QObject类的connect方法,它的作用就是把一个object的signal和另外一个object的slot连接起来,以达到对象间通讯的目的。connect 在幕后到底都做了些什么事情?为什么emit一个signal后,相应的slot都会被调用?好了,让我们来逐一解开其中的谜团。SIGNAL 和 SLOT 宏定义我们在调用
2010-02-03 14:30:00 763
原创 Inside Qt Series (九):QMetaObject class data members
我们来看一下QMetaObject的定义,我们先看一下QMetaObject对象中包含的成员数据。 struct Q_CORE_EXPORT QMetaObject{ // …… struct { // private data const QMetaObject *superdata; const char *stringdata; co
2010-02-03 14:29:00 628
原创 Inside Qt Series (八):Meta Object Class overview
前面我们介绍了 Meta Object 的基本功能,和它支持的最重要的特性之一:Signal & Slot的基本功能。现在让我们来进入 Meta Object 的内部,看看它是如何支持这些能力的。 Meta Object 的所有数据和方法都封装在一个叫QMetaObject 的类中。它包含并且可以查询一个Qt类的 meta 信息,meta信息包含以下几种: * 信号表(signa
2010-02-03 14:28:00 588
原创 Inside Qt Series (六):元对象编译器 – Meta Object Compiler (moc)
元对象编译器用来处理Qt 的C++扩展,moc 分析C++源文件,如果它发现在一个头文件(header file)中包含Q_OBJECT 宏定义,然后动态的生成另外一个C++源文件,这个新的源文件包含 Q_OBJECT 的实现代码,这个新的 C++ 源文件也会被编译、<span class="t_tag" onclick="function onclick(){tagshow(event)
2010-02-03 14:27:00 725
原创 Inside Qt Series (七):Signal & Slot
本节介绍Signal和slot的基本知识。 信号和槽是用来在对象间通讯的方法,当一个特定事件发生的时候,signal会被 emit 出来,slot 调用是用来响应相应的 signal 的。Qt 对象已经包含了许多预定义的 signal,但我们总是可以在派生类中添加新的 signal。Qt 对象中也已经包含了许多预定义的 slog,但我们可以在派生类中添加新的 slot 来处理我们感兴趣的
2010-02-03 14:27:00 670
原创 Inside Qt Series (五):元对象系统(Meta-Object System)
从本节开始,我们讲解 Qt Meta-Object System 的功能,以及实现。在使用 Qt 开发的过程中,大量的使用了 signal 和 slot. 比如,响应一个 button 的 click 事件,我们一般都写如下的代码:class MyWindow : public QWidget{ Q_OBJECTpublic: MyWindow(QWidget* parent)
2010-02-03 14:26:00 635
原创 Inside Qt Series (三):对象数据存储(B)
Qt 4.6.x 中的方法在 Qt 4.6 中,类成员变量定义方法的出发点没有变化,只是在具体的实现手段上发生了非常大的变化,下面具体来看。在 Qt 4.6 中,使用了非常多的宏来做事,这凭空的增加了理解 Qt source code 的难度,不知道他们是不是从MFC学来的。就连在定义类成员数据变量这件事情上,也大量的使用了宏。在这个版本中,类成员变量不再是给每一个class都定义一个
2010-02-03 14:25:00 686
原创 Inside Qt Series (四):对象数据存储(C)
接上节,让我们来看看这个 QObjectPrivate 和 QObject 是如何关联在一起的。//————————————————————————————————————–// file name: qobject.cppQObject::QObject(QObject *parent) : d_ptr(new QObjectPrivate){ // ………………………}Q
2010-02-03 14:25:00 853
原创 Inside Qt Series (二):对象数据存储(A)
前言,为什么先说这个? 我们知道,在C++中,几乎每一个类(class)中都需要有一些类的成员变量(class member variable),在通常情况下的做法如下:class Person{private: string mszName; // 姓名 bool mbSex; // 性别 int mnAge; // 年龄}; 就是在类
2010-02-03 14:24:00 538
原创 Inside Qt Series (一):Starting From the QObject
QObject 这个 class 是 Qt 对象模型的核心,绝大部分的 Qt 类都是从这个类继承而来。这个模型的中心特征就是一个叫做信号和槽(signal and slot)的机制来实现对象间的通讯,你可以把一个信号和另一个槽通过 connect(…) 方法连接起来,并可以使用 disconnect(…) 方法来断开这种连接,你还可以通过调用 blockSignal(…) 这个方法来临时的
2010-02-03 14:22:00 682
原创 SQLite3简介
An Introduction to SQLite3(SQLite3简介) 0.本文是对SQLite官方网站中的文档以及介绍进行的简要翻译,主要介绍了SQLite的一些Features以及其常见的应用。 1.SQLite简介SQLite是实现了以下特征的软件:i.Self-Contained:SQLite最大程度的实现了self-contained。
2010-02-01 10:43:00 4642
97 Things Every Software Architect Should Know.doc
2010-05-31
97 Things Every Project Manager Should Know.pdf
2010-05-31
97 Things Every Project Manager Should Know
2010-05-31
97 Things Every Project Manager Should Know
2010-05-31
Non-Software Examples of Software Design Patterns.pdf
2009-08-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人