详解Qt中的双缓冲机制与实例应用 |
||||||
+ 目录
1、双缓冲机制所谓双缓冲机制,是指在绘制控件时,首先将要绘制的内容绘制在一个图片中,再将图片一次性地绘制到控件上。 在早期的Qt版本中,若直接在控件上进行绘制工作,则在控件重绘时会产生闪烁的现象,控件重绘频繁时,闪烁尤为明显。双缓冲机制可以有效地消除这种闪烁现象。自 Qt 5 版本之后,QWidget 控件已经能够自动处理闪烁的问题。 因此,在控件上直接绘图时,不用再操心显示的闪烁问题,但双缓冲机制在很多场合仍然有其用武之地。当所需绘制的内容较复杂并需要频繁刷新,或者每次只需要刷新整个控件的一小部分时,仍应尽量采用双缓冲机制。
2、实例效果图实现一个简单的绘图工具,可以选择线形,线宽,颜色等基本要素。效果图如下所示:
3、实例核心代码PaintArea.h:
?
PaintArea.cpp:
?
4、双缓冲具体实现代码下面是实现双缓冲区域的地方:
?
注册即送1000元现金券
|