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

支持缩放和拖动的GraphicsView 更多...

#include <DAGraphicsView.h>

类 DA::DAGraphicsView 继承关系图:
DA::DAWorkFlowGraphicsView

class  PrivateData
 

Public 类型

enum  ZoomFlag { ZoomNotUseWheel = 0x0001 , ZoomUseWheel = 0x0002 , ZoomUseWheelAndCtrl = 0x0004 }
 缩放设置 更多...
 
enum  PadFlag { PadDiable = 0x0001 , PadByWheelMiddleButton = 0x0002 , PadBySpaceWithMouseLeftButton = 0x0004 }
 表征拖动状态 更多...
 

Public 槽

void zoomIn ()
 放大
 
void zoomOut ()
 缩小
 
void zoomFit ()
 设置全部可见尺寸
 
void selectAll ()
 选中所有可选的item
 
void clearSelection ()
 取消所有选中
 
void setViewMarkerStyle (DAGraphicsViewOverlayMouseMarker::MarkerStyle style)
 设置标记
 
void setViewMarkerEnable (bool on)
 设置mark是否生效
 

信号

void viewActionActived (DA::DAAbstractGraphicsViewAction *act)
 一个视图动作被激活的信号
 
void viewActionDeactived (DA::DAAbstractGraphicsViewAction *act)
 一个视图动作已经解除激活的信号
 

Public 成员函数

 DAGraphicsView (QWidget *parent=0)
 DAGraphicsView
 
 DAGraphicsView (QGraphicsScene *scene, QWidget *parent=0)
 
void setScaleRange (qreal min, qreal max)
 
qreal getScaleMaxFactor () const
 
qreal getScaleMinFactor () const
 
bool isEnaleWheelZoom () const
 
void setEnaleWheelZoom (bool enaleWheelZoom=true, ZoomFlags zf=ZoomUseWheelAndCtrl)
 
QPointF getMouseScenePos () const
 获取鼠标对应的scence的位置坐标
 
void setZoomFrags (ZoomFlags zf)
 设置zoomflags
 
ZoomFlags getZoomFlags () const
 获取zoomflags
 
bool isPadding () const
 判断是否在拖动
 
void setPaddingFrags (PadFlags pf)
 设置拖动属性
 
PadFlags getPaddingFrags () const
 获取拖动属性
 
QList< DAGraphicsItem * > selectedDAItems () const
 选中的item
 
bool isSpacebarPressed () const
 是否空格被按下
 
void setupViewAction (DAAbstractGraphicsViewAction *act)
 激活一个动作,DA::DAAbstractGraphicsViewAction 的内存归view管理,此函数发射viewActionActived
 
void clearViewAction ()
 清除视图action,此操作会把当前维护的视图action清除.
 
void markPoint (const QPointF &scenePoint, const QPen &pen=QPen(Qt::blue))
 标记一个点,让这个点显示出来
 
bool isEnableMarker () const
 marker是否生效
 
DAGraphicsViewOverlayMouseMarker::MarkerStyle getCurrentMarkerStyle () const
 获取当前的markerstyle,如果没生效,返回DAGraphicsViewOverlayMouseMarker::NoMarkerStyle
 
DAGraphicsViewOverlayMouseMarkergetMarker () const
 获取marker指针
 

Protected 成员函数

virtual void wheelEvent (QWheelEvent *event) override
 中键滚动
 
virtual void mouseMoveEvent (QMouseEvent *event) override
 
virtual void mousePressEvent (QMouseEvent *event) override
 
virtual void mouseReleaseEvent (QMouseEvent *event) override
 
virtual void keyPressEvent (QKeyEvent *event) override
 
virtual void keyReleaseEvent (QKeyEvent *event) override
 
virtual void resizeEvent (QResizeEvent *event) override
 
void wheelZoom (QWheelEvent *event)
 滚轮事件的缩放
 
void startPad (QMouseEvent *event)
 开始拖动
 
void endPad ()
 结束拖动
 
virtual DAGraphicsViewOverlayMouseMarkercreateMarker ()
 创建鼠标标记,如果重载了DAGraphicsViewOverlayMouseMarker,需要重载此函数返回自己的MouseMarker
 

详细描述

支持缩放和拖动的GraphicsView

DAGraphicsView的特殊功能都通过DA::DAAbstractGraphicsViewAction 提供

快捷键说明: Ctrl++ 放大 Ctrl+- 缩小

成员枚举类型说明

◆ PadFlag

表征拖动状态

枚举值
PadDiable 

不允许拖动

PadByWheelMiddleButton 

通过滚轮中键移动

PadBySpaceWithMouseLeftButton 

通过长按空格和鼠标左键实现拖动

◆ ZoomFlag

缩放设置

枚举值
ZoomNotUseWheel 

不进行滚轮缩放

ZoomUseWheel 

直接用wheel就可以

ZoomUseWheelAndCtrl 

需要使用ctrl键

成员函数说明

◆ createMarker()

DAGraphicsViewOverlayMouseMarker * DA::DAGraphicsView::createMarker ( )
protectedvirtual

创建鼠标标记,如果重载了DAGraphicsViewOverlayMouseMarker,需要重载此函数返回自己的MouseMarker

返回

◆ endPad()

void DA::DAGraphicsView::endPad ( )
protected

结束拖动

参数
event

◆ getCurrentMarkerStyle()

DAGraphicsViewOverlayMouseMarker::MarkerStyle DA::DAGraphicsView::getCurrentMarkerStyle ( ) const

获取当前的markerstyle,如果没生效,返回DAGraphicsViewOverlayMouseMarker::NoMarkerStyle

返回

◆ getMarker()

DAGraphicsViewOverlayMouseMarker * DA::DAGraphicsView::getMarker ( ) const

获取marker指针

返回

◆ getMouseScenePos()

QPointF DA::DAGraphicsView::getMouseScenePos ( ) const

获取鼠标对应的scence的位置坐标

返回

◆ getPaddingFrags()

DAGraphicsView::PadFlags DA::DAGraphicsView::getPaddingFrags ( ) const

获取拖动属性

返回

◆ getZoomFlags()

DAGraphicsView::ZoomFlags DA::DAGraphicsView::getZoomFlags ( ) const

获取zoomflags

返回

◆ isEnableMarker()

bool DA::DAGraphicsView::isEnableMarker ( ) const

marker是否生效

返回
未激活也认为不生效

◆ isPadding()

bool DA::DAGraphicsView::isPadding ( ) const

判断是否在拖动

返回

◆ isSpacebarPressed()

bool DA::DAGraphicsView::isSpacebarPressed ( ) const

是否空格被按下

返回

◆ markPoint()

void DA::DAGraphicsView::markPoint ( const QPointF &  scenePoint,
const QPen &  pen = QPen(Qt::blue) 
)

标记一个点,让这个点显示出来

任何操作这个标记点都会消失

参数
scenePoint
pen

◆ selectedDAItems()

QList< DAGraphicsItem * > DA::DAGraphicsView::selectedDAItems ( ) const

选中的item

返回

◆ setPaddingFrags()

void DA::DAGraphicsView::setPaddingFrags ( PadFlags  pf)

设置拖动属性

参数
pf

◆ setupViewAction()

void DA::DAGraphicsView::setupViewAction ( DAAbstractGraphicsViewAction act)

激活一个动作,DA::DAAbstractGraphicsViewAction 的内存归view管理,此函数发射viewActionActived

参数
act动作指针

◆ setViewMarkerEnable

void DA::DAGraphicsView::setViewMarkerEnable ( bool  on)
slot

设置mark是否生效

参数
on

◆ setViewMarkerStyle

void DA::DAGraphicsView::setViewMarkerStyle ( DAGraphicsViewOverlayMouseMarker::MarkerStyle  style)
slot

设置标记

参数
style

◆ setZoomFrags()

void DA::DAGraphicsView::setZoomFrags ( ZoomFlags  zf)

设置zoomflags

参数
zf

◆ startPad()

void DA::DAGraphicsView::startPad ( QMouseEvent *  event)
protected

开始拖动

参数
event

◆ viewActionActived

void DA::DAGraphicsView::viewActionActived ( DA::DAAbstractGraphicsViewAction act)
signal

一个视图动作被激活的信号

参数
act

◆ viewActionDeactived

void DA::DAGraphicsView::viewActionDeactived ( DA::DAAbstractGraphicsViewAction act)
signal

一个视图动作已经解除激活的信号

参数
act

◆ wheelEvent()

void DA::DAGraphicsView::wheelEvent ( QWheelEvent *  event)
overrideprotectedvirtual

中键滚动

参数
event

◆ wheelZoom()

void DA::DAGraphicsView::wheelZoom ( QWheelEvent *  event)
protected

滚轮事件的缩放

参数
event

◆ zoomFit

void DA::DAGraphicsView::zoomFit ( )
slot

设置全部可见尺寸

注解
如果是空场景,此函数无动作

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