JefferyZhou

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2012年9月24日

摘要: 获取DC 1. 附带裁剪区域的DC获取方法,借助InvalidateRect()扩展无效矩形hdc = BeginPaint (hwnd, &ps) ;EndPaint (hwnd, &ps) ;InvalidateRect (hwnd, NULL, TRUE) ;2. 没有裁剪区域的DC获取方法,同时也不会让无效矩形变为有效,借助ValidateRect()更新有效矩形hdc = GetDC (... 阅读全文
posted @ 2012-09-24 17:14 JefferyZhou 阅读(2400) 评论(0) 推荐(0) 编辑

摘要: 包含头文件 "windows.h", 这是一个巨大的文件 如果只用到了API中的一部分,那么在包含头文件之前,定义 , #define WIN32_LEAN_AND_MEAN 定义下面的宏, #define VC_EXTRALEAN 可以关掉更多的东西, 详情参考: Faster Builds and Smaller Header Files。 阅读全文
posted @ 2012-09-24 17:13 JefferyZhou 阅读(511) 评论(0) 推荐(0) 编辑

摘要: 这个框架是一个相对成熟的渲染引擎的上层框架,通常也可以会叫做 Scene - View。 在QT中,GraphicsView是一个与QWdiget系列一点点不一样的系统。这个系统主要由下面几个框架类构成:QGraphicsView, QGraphicsScene, QGraphicsItem QGrahpicsView是从原生的QWidget继承过来,QGraphics-View系统中,他承... 阅读全文
posted @ 2012-09-24 17:12 JefferyZhou 阅读(7988) 评论(0) 推荐(0) 编辑

摘要: 下面对于QT的绘制系统做一个简要说明, 这个系统主要由三部分组成, QPainter, QPaintDevice, QPaintEngine。 QPainter 是一个绘制接口类,提供绘制各种面向用户的命令,而QPaintDevice 是一个QPainter绘制的目的地,相当于画布, 而QPaintEngine 是基本绘制命令的具体实现。 我们打交道比较多的是 QPainter , 注意对于Win... 阅读全文
posted @ 2012-09-24 17:12 JefferyZhou 阅读(18106) 评论(0) 推荐(0) 编辑

摘要: QT4.4以后的版本(包括4.4) QT的Scene布局系统,主要构成如下图所示: QGraphicsWidget 通过 QGraphicsWidget::setLayout() 来绑定 QGraphicsLayout 当 Widget 发生 resized 事件的时候,layout自动对widget的孩子进行相应的排列。 因为 QGraphicsLayout 是从 QGraphicsLa... 阅读全文
posted @ 2012-09-24 17:11 JefferyZhou 阅读(2914) 评论(0) 推荐(0) 编辑

摘要: 总体来说,当前4.7 版本中的 AnchorLayout 还不甚完善(AnchorLayout 是从QT4.6引入的),不过主体功能已经完成。 从上述类图中可以看出,AnchorLayout 与其他的布局类有个区别,AnchorLayout没有依赖QGridLayoutEngine,所以可以知道AnchorLayout的排版工作是自己负责的。进一步观察发现,布局中引入了两个类 AnchorDat... 阅读全文
posted @ 2012-09-24 17:10 JefferyZhou 阅读(1493) 评论(0) 推荐(0) 编辑

摘要: 另外一个强大的布局排版类,QGraphicsGridLayout 提供在Graphic view 中对widget 进行格子布局管理的功能。 通常用parent=NULL的方式在堆上构建QGraphicsGridLayout (也就是 QGraphicsGridLayout * layout = newQGraphicsGridLayout (NULL) ), 然后通过调用接口addItem()... 阅读全文
posted @ 2012-09-24 17:10 JefferyZhou 阅读(2961) 评论(0) 推荐(0) 编辑

摘要: 概述:通过前面对QGraphicsLinearLayout, QGraphicsGridLayout , QGraphicsAnchorLayout的初步分析,可以知道,QT的布局引擎分成两个: QGraphicsLayoutEngine 负责对 QGraphicsLinearLayout, QGraphicsGridLayout 进行排版。QGraphicsAnchorLayoutPrivate... 阅读全文
posted @ 2012-09-24 17:09 JefferyZhou 阅读(2689) 评论(0) 推荐(1) 编辑

摘要: QT 的Scene-View系统中的LinearLayout 相当于原来的 HBoxLayout 和 VBoxLayout,用来处理横行排版和竖向排版。 类继承图如下(由QT4.4版本引入): QGraphicsLinearLayout处理Qt::Horizontal和Qt::Vertical两个方向的排版布局,默认为Qt::Horizontal,可以通过调用接口setOrientation()... 阅读全文
posted @ 2012-09-24 17:08 JefferyZhou 阅读(3877) 评论(0) 推荐(1) 编辑

摘要: 第一章 Qt 初步实践 集成开发环境: KDevelop , vim 第二章 对话框 Q_OBJECT 启动Qt元对象系统的一些特性,比如支持信号与槽等,它必须防止到类定义的私有区。 QDialog 类的虚函数 virtual void accept(), 验证对话框的返回值。 QLineEdit::setEchoMode(), 设置编辑框对象的内容显示方式,Normal, Pas... 阅读全文
posted @ 2012-09-24 17:06 JefferyZhou 阅读(4932) 评论(0) 推荐(0) 编辑