自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

转载 关于Qt pro、pri、qmake、Makefile的资源整理

QT中PRO文件写法的详细介绍 如何在Qt Creator中创建pri文件,以及pri文件的说明 qmake的使用 跟我一起写 Makefile(一)推荐大家仔细看陈皓的和我一起写Makefile,可以通透makefile的工作原理,其次里面讲了了很多语法,很多和Qt的pro相似,更容易理解pro文件。...

2018-08-14 09:22:18 661

原创 Qt线程使用总结:QtConcurrent、QThreadPool、QRunnable、QThread详解

写这几片博文,是自己对Qt线程使用的一些总结。会尽量写的详细,如果只是学习Qt线程的基本使用可以,参考转载的那篇《Qt线程基础》。Qt线程的几种使用形式:QThread QThreadPool+QRunnable QtConcurrent一些常用替换线程的方案:           1)如果需要对每个发来的信号都做出处理,那么有两种方式来解决,即在信号与槽的connect函数中明...

2018-08-10 10:15:46 18833 1

转载 Qt 线程基础(QThread、QtConcurrent等)

昨晚看Qt的Manual,突然发现下一个版本的Qt中(Qt4.7.4、Qt4.8等)增加了一个特赞的介绍多线程的文章 :Thread Basics注意:该链接以后会失效,但是 到时候你直接看Qt自带Manual就行了本文不是严格的翻译 dbzhang800 2011.06.18使用线程基本上有种使用线程的场合:通过利用处理器的多个核使处理速度更快。为保持GUI线程或其他高实时性线程的响应,将耗时的...

2018-05-18 14:11:05 509

原创 设计模式(十)-状态模式、Qt状态机

书中关于状态模式引入的例子是:小菜一天的工作状态版本一:很简单一个时间变量,一个判断事件的函数。(最简单粗暴的,如果你的代码不超过500行,还是可以使用这种方式的)版本二:写了一个类,包含时间的成员变量。然后一个判断时间的成员函数(好吧,简单粗暴的外形被影藏起来了)版本三:各个子状态类,都继承一个状态抽象类,有一个公共状态改变接口(根据业务状态逻辑,设置上下文的当前状态)。这个接口,在子类实体中实...

2018-05-18 13:23:24 1206

原创 设计模式(九)-观察者模式、C#委托、事件

书中引出的例子为,当Boss回来,前台通知员工好好工作的场景。1、观察模式将通知广播给每一个客户端,客户端想知道目标的变化a、从目标拉取 b、通知的时候将变化传递给客户端。拉取的方法,客户端自由度较高,客户端可以根据需求拉取。观察者通知内容丰富,客户端需要不要更新拉取变化。耦合度高,违背迪米特法则,推送的方法,效率低,客户端需要判断通知类型,耦合度一样高。如果收到通知,两者之间需要来回事务往来,就...

2018-05-17 16:53:46 442

原创 设计模式(八)-外观模式

外观模式外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。这种模式涉及到一个单一的类,该类提供了客户端请求的简化方法和对现有系统类方法的委托调用。一般在做模块设计时,都会有接口设计。但是由于:1、子模块在经过长期的演化,功能复杂。调用环境配置麻烦,使用不便,需要将...

2018-05-16 15:37:52 230

原创 设计模式(七)--模板方法、建造者模式

原型模式(复制简历与手写简历)属于创建型模式(注重对象创建)。模板方法(考试答题、招聘流程)属于行为模式(注重流程)。当我们要完成在某一细节层次一致的一个过程或一系列步骤(如招聘流程,开会流程--但具体招聘的公司时间地点对象都不尽相同),但其个别步骤在更详细的层次上实现可能不同时,通常考虑模板方法。优点:在父类中形式化地定义一个算法,而由其子类实现细节的处理,在子类实现详细的处理算法时并不会改变算...

2018-05-12 15:37:31 431

原创 设计模式(六)-原型模式

书中引出的例子是,关于简历的复制问题。这里使用原型模式的关键是,克隆一个对象,与构造一个对象的不同。取决于克隆和构造的复杂度。克隆,需要处理深复制、与浅复制的问题。克隆的时候,与备忘录,状态模式有一些相似之处。使用哪一种取决需求。书中复制简历与手写简历的对比,可以准确的表达这种模式思想。用户在初始化对象时,使用同一套初始化变量,这种模式可以很好的避免用户在构造函数里面,初始化需要的用到的初始化变量...

2018-05-11 16:32:01 209

转载 DHCP协议原理及其实现流程

<div class="blog-content-box"> <div class="article-title-box"> <span class="article-type type-1 float-left">原</span> <h6 class="title-article">

2018-05-11 15:20:18 198

原创 设计模式(五)--代理模式

代理模式在代理模式(Proxy Pattern)中,一个类代表另一个类的功能。这种类型的设计模式属于结构型模式。在代理模式中,我们创建具有现有对象的对象,以便向外界提供功能接口。介绍意图:为其他对象提供一种代理以控制对这个对象的访问。主要解决:在直接访问对象时带来的问题,比如说:要访问的对象在远程的机器上。在面向对象系统中,有些对象由于某些原因(比如对象创建开销很大,或者某些操作需要安全控制,或者...

2018-05-09 11:50:50 207

原创 设计模式(四)--装饰模式

装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。意图:动态地给一个对象添加一些额外的职责。就增加功能来说,装饰器模式相比生成子类更为灵活。主要解决:一般的,我们为了扩展一个类经常使用继承方...

2018-05-08 20:14:39 278

原创 设计模式(三)--策略模式

策略模式的结构图:引用:模版方法模式,对照类图可以看到,策略模式与模版方法模式的区别仅仅是多了一个单独的封装类Context,它与模版方法模式的区别在于:在模版方法模式中,调用算法的主体在抽象的父类中,而在策略模式中,调用算法的主体则是封装到了封装类Context中,抽象策略Strategy一般是一个接口,目的只是为了定义规范,里面一般不包含逻辑。其实,这只是通用实现,而在实际编程中,因为各个具体...

2018-04-27 09:28:55 396

原创 设计模式(二)--简单工厂、工厂方法、抽象工厂

引用:愤怒的韭菜,个人觉得他总结的很精辟,易于理解。同时觉得博文格式也很喜欢。这三种模式表现的是在不同程度的抽象,选在使用哪一种,取决工程性质。定义:定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使一个类的实例化延迟到其子类。类图:三种工厂方法的演变:简单工厂:工厂方法:抽象工厂:适用场景:        不管是简单工厂模式,工厂方法模式还是抽象工厂模式,他们具有类似的特性,所以他...

2018-04-26 11:24:52 334

原创 设计模式(一)--设计原则

此系列只是对《大话设计模式》的巩固总结。在理解设计模式之前,需要理解几个:面向对象的设计原则单一职责:一个类只专注于做一件事。里氏替换:基类存在的地方,子类可以将其替换。依赖倒置:实现尽量依赖抽象,不依赖具体实现。接口隔离:为使用者提供尽可能小的的单独接口,而不是大而全。迪米特法则: 一个实体尽可能少的与其他实体发生相互作用。开闭原则:面向扩展开放、面向修改关闭。组合/聚合:尽量使用组合聚合达到复...

2018-04-25 15:30:51 229

原创 关于物理内存的几点认识

今天小敏(化名)问了一些关于计算机内存的问题,其实我也是似懂非懂。只是平时写程序知道这些内存大概是怎么在计算机怎么分配的,怎么去使用,但还不能给一个新人完全系统的去讲解,计算机内存和程序之间完成的关系。(其实现在也讲不清楚,呵呵)。我们跟随几个问题来认识最基本的计算机内存:ROM、RAM、Flash、固态硬盘、硬盘的区别是什么?为什么需要RAM?RAM的由来?二进制文件怎么加载到内存

2017-03-22 15:10:00 808

原创 Qt元对象系统(二)【根据moc文件解析Q_OBJECT】

我们来看一个信号与槽的小例子 头文件:#ifndef MYCLASS#define MYCLASS#include class myClass : public QObject{ Q_OBJECTpublic: explicit myClass(QObject *parent = 0 ); ~myClass(); void triggerOne

2016-05-09 11:27:27 2785

原创 Qt元对象系统解析(一)

说Qt信号与槽是一个很好机制,不如说Qt的元对象系统很强大。这也是大家讲Qt就必须将信号与槽,讲信号与槽就要讲Qt的元对象系统。当然初学者知道怎么用就OK啦,当然随着你写的代码越多,接触的平台越多的时候,你就会好奇Qt是如何把两个(多个)任意不相关(必须都继承与QObject)的对象联系在一起的。我们围绕一些问题来认识一下Qt元对象系统:什么是Qt元对象系统,它包含了哪些内容,它在我们的程序中做了

2016-05-06 15:43:17 13032 2

原创 Qt框架及模块认识

小白自工作就接触Qt,一直都在使用Qt5.3.1版本,所以没有经历过大牛们把项目从Qt4程序到Qt5的烦恼,没准以后会碰到。对Qt所有的丰富的API表示惊叹,对于Qt的框架及模块认识也是极为模糊的,文中有不对之处希望大牛们打脸(虽然脸都已经被打肿了。。。。) 1、Qt的跨平台性(Linux、Unix、、Mac OS、Android、IOS) 简而言之:Qt的功能是建立在它所支持的平台底层API

2016-05-04 16:44:44 15440

空空如也

空空如也

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

TA关注的人

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