|
QWT API (中文) 7.0.1
Qt绘图库 - 中文API文档
|
控件的覆盖层 更多...
#include <qwt_widget_overlay.h>
类 | |
| class | PrivateData |
Public 类型 | |
| enum | MaskMode { NoMask , MaskHint , AlphaMask } |
| 掩码模式 更多... | |
| enum | RenderMode { AutoRenderMode , CopyAlphaMask , DrawOverlay } |
Public 槽 | |
| void | updateOverlay () |
| 重新计算掩码并重绘覆盖层 | |
Public 成员函数 | |
| QwtWidgetOverlay (QWidget *) | |
| 构造函数 | |
| virtual | ~QwtWidgetOverlay () |
| 析构函数 | |
| void | setMaskMode (MaskMode) |
| 指定如何为覆盖层查找掩码 | |
| MaskMode | maskMode () const |
| void | setRenderMode (RenderMode) |
| 设置渲染模式 | |
| RenderMode | renderMode () const |
| virtual bool | eventFilter (QObject *, QEvent *) override |
| 事件过滤器 | |
Protected 成员函数 | |
| virtual void | paintEvent (QPaintEvent *) override |
| 绘制事件 | |
| virtual void | resizeEvent (QResizeEvent *) override |
| 调整大小事件 | |
| virtual QRegion | maskHint () const |
| Calculate an approximation for the mask | |
| virtual void | drawOverlay (QPainter *painter) const =0 |
| 绘制控件覆盖层 | |
控件的覆盖层
掩码模式
| 枚举值 | |
|---|---|
| NoMask | 不使用掩码。 |
| MaskHint | 使用 maskHint() 作为掩码 在许多情况下,快速近似已经足够, 不需要构建更详细的掩码(例如文本的边界矩形)。 |
| AlphaMask | 通过检查 alpha 值计算掩码 有时无法提供快速近似, 需要通过绘制覆盖层并测试结果来计算掩码。 当有有效的 maskHint() 时, 只检查此近似内的像素。 |
渲染模式
为了计算 alpha 掩码,覆盖层已经被绘制到临时的 QImage。 与其将覆盖层渲染两次,不如复制此缓冲区用于绘制覆盖层。
在使用光栅绘制引擎的图形系统上(QWS, Windows), 这通常只意味着复制一些内存。在 X11 上,这会导致 构建 pixmap 的昂贵操作,对于简单的覆盖层可能不推荐。
| 枚举值 | |
|---|---|
| AutoRenderMode | 使用光栅绘制引擎时复制缓冲区。 |
| CopyAlphaMask | 始终复制缓冲区 |
| DrawOverlay | 从不复制缓冲区 |
|
explicit |
构造函数
|
virtual |
析构函数
|
protectedpure virtual |
|
overridevirtual |
事件过滤器
|
protectedvirtual |
Calculate an approximation for the mask
The default implementation returns an invalid region indicating no hint.
被 QwtFigureWidgetOverlay 重载.
| QwtWidgetOverlay::MaskMode QwtWidgetOverlay::maskMode | ( | ) | const |
|
overrideprotectedvirtual |
| QwtWidgetOverlay::RenderMode QwtWidgetOverlay::renderMode | ( | ) | const |
|
overrideprotectedvirtual |
调整大小事件
| event | 调整大小事件 |
| void QwtWidgetOverlay::setMaskMode | ( | MaskMode | mode | ) |
指定如何为覆盖层查找掩码
| void QwtWidgetOverlay::setRenderMode | ( | RenderMode | mode | ) |
设置渲染模式
|
slot |
重新计算掩码并重绘覆盖层
重新计算掩码并重绘覆盖层