DAWorkbench 0.0.1
DAWorkbench API
载入中...
搜索中...
未找到
DA::DAAbstractGraphicsViewOverlay类 参考

提供给DAGraphicsView的Overlay 更多...

#include <DAAbstractGraphicsViewOverlay.h>

类 DA::DAAbstractGraphicsViewOverlay 继承关系图:
DA::DAAbstractWidgetOverlay DA::DAGraphicsViewOverlayMouseMarker

Public 成员函数

 DAAbstractGraphicsViewOverlay (QGraphicsView *parent)
 
QRect overlayRect () const
 
QPoint getMousePos () const
 
bool isActive () const
 是否激活
 
void setActive (bool v)
 激活
 
virtual bool eventFilter (QObject *obj, QEvent *event)
 对父窗口进行过滤
 
QGraphicsView * view () const
 获取view
 
bool isValid () const
 判断是否有效,如果view没有场景,就属于无效
 
- Public 成员函数 继承自 DA::DAAbstractWidgetOverlay
 DAAbstractWidgetOverlay (QWidget *parent)
 
void setMaskMode (MaskMode mode)
 
MaskMode getMaskMode () const
 
void setRenderMode (RenderMode mode)
 
RenderMode getRenderMode () const
 

Protected 成员函数

virtual void viewMouseMove (const QPoint &viewPos)
 view的鼠标移动事件
 
virtual void viewMousePress (const QPoint &viewPos)
 view的鼠标点击事件
 
virtual void viewMouseRelease (const QPoint &viewPos)
 view的鼠标释放事件
 
- Protected 成员函数 继承自 DA::DAAbstractWidgetOverlay
virtual void drawOverlay (QPainter *painter) const =0
 绘制遮罩层的主要业务实现函数
 
virtual QRegion maskHint () const
 计算遮罩区的近似值
 
virtual void paintEvent (QPaintEvent *event) override
 
virtual void resizeEvent (QResizeEvent *event) override
 

额外继承的成员函数

- Public 类型 继承自 DA::DAAbstractWidgetOverlay
enum  MaskMode { NoMask , MaskHint , AlphaMask }
 
enum  RenderMode { AutoRenderMode , CopyAlphaMask , DrawOverlay }
 渲染模式 更多...
 
- Public 槽 继承自 DA::DAAbstractWidgetOverlay
void updateOverlay ()
 
- 静态 Public 成员函数 继承自 DA::DAAbstractWidgetOverlay
static QRegion maskRegion (const QRect &r, int penWidth)
 矩形的遮罩区域计算
 
static QRegion maskRegionVOrHLine (const QLine &VOrHLine, int penWidth)
 针对水平线或竖直线的遮罩区域计算
 

详细描述

提供给DAGraphicsView的Overlay

注解
由于Overlay是对鼠标隐藏的,因此不能直接使用mouseEvent,直接捕获parent的event

成员函数说明

◆ eventFilter()

bool DA::DAAbstractGraphicsViewOverlay::eventFilter ( QObject *  obj,
QEvent *  event 
)
virtual

对父窗口进行过滤

overlay已经默认捕获父窗口,不需要手动再次安装

重载 DA::DAAbstractWidgetOverlay .

◆ isActive()

bool DA::DAAbstractGraphicsViewOverlay::isActive ( ) const

是否激活

返回

◆ setActive()

void DA::DAAbstractGraphicsViewOverlay::setActive ( bool  v)

激活

参数
v

◆ view()

QGraphicsView * DA::DAAbstractGraphicsViewOverlay::view ( ) const

获取view

返回
如果没有返回nullptr

◆ viewMouseMove()

void DA::DAAbstractGraphicsViewOverlay::viewMouseMove ( const QPoint &  viewPos)
protectedvirtual

view的鼠标移动事件

类似widget的鼠标事件,但由于overlay是透明窗口,本身是没有鼠标事件,这里是捕获了view的鼠标事件, 方便基于宿主的状态进行特殊的显示

注解
注意,在继承此虚函数,要保证父类的虚函数运行,否则DAAbstractGraphicsViewOverlay::getMousePos 将不起作用

◆ viewMousePress()

void DA::DAAbstractGraphicsViewOverlay::viewMousePress ( const QPoint &  viewPos)
protectedvirtual

view的鼠标点击事件

类似widget的鼠标事件,但由于overlay是透明窗口,本身是没有鼠标事件,这里是捕获了view的鼠标事件, 方便基于宿主的状态进行特殊的显示

注解
注意,在继承此虚函数,要保证父类的虚函数运行,否则DAAbstractGraphicsViewOverlay::getMousePos 将不起作用

◆ viewMouseRelease()

void DA::DAAbstractGraphicsViewOverlay::viewMouseRelease ( const QPoint &  viewPos)
protectedvirtual

view的鼠标释放事件

类似widget的鼠标事件,但由于overlay是透明窗口,本身是没有鼠标事件,这里是捕获了view的鼠标事件, 方便基于宿主的状态进行特殊的显示

注解
注意,在继承此虚函数,要保证父类的虚函数运行,否则DAAbstractGraphicsViewOverlay::getMousePos 将不起作用

该类的文档由以下文件生成: