QAbstract3DInputHandler Class

The base class for implementations of input handlers. 更多...

头文件: #include <QAbstract3DInputHandler>
开始支持版本: QtDataVisualization 1.0
Instantiated By: AbstractInputHandler3D
基类: QObject
派生类:

Q3DInputHandler

公有类型

enum InputView { InputViewNone, InputViewOnPrimary, InputViewOnSecondary }

属性

公有函数

virtual ~QAbstract3DInputHandler()
QPoint inputPosition() const
InputView inputView() const
virtual void mouseDoubleClickEvent(QMouseEvent *event)
virtual void mouseMoveEvent(QMouseEvent *event, const QPoint &mousePos)
virtual void mousePressEvent(QMouseEvent *event, const QPoint &mousePos)
virtual void mouseReleaseEvent(QMouseEvent *event, const QPoint &mousePos)
Q3DScene *scene() const
void setInputPosition(const QPoint &position)
void setInputView(InputView inputView)
void setScene(Q3DScene *scene)
virtual void touchEvent(QTouchEvent *event)
virtual void wheelEvent(QWheelEvent *event)
  • 32 个公有函数继承自 QObject

信号

void inputViewChanged(QAbstract3DInputHandler::InputView view)
void positionChanged(const QPoint &position)
void sceneChanged(Q3DScene *scene)

受保护的函数

QAbstract3DInputHandler(QObject *parent = Q_NULLPTR)
int prevDistance() const
QPoint previousInputPos() const
void setPrevDistance(int distance)
void setPreviousInputPos(const QPoint &position)
  • 9 个受保护的函数继承自 QObject

其他继承的成员

  • 1 个公有槽函数继承自 QObject
  • 1 个公有变量继承自 QObject
  • 10 个静态公有成员继承自 QObject
  • 2 个受保护的变量继承自 QObject

详细描述

The base class for implementations of input handlers.

QAbstract3DInputHandler is the base class that is subclassed by different input handling implementations that take input events and translate those to camera and light movements. Input handlers also translate raw input events to slicing and selection events in the scene.

成员类型

enum QAbstract3DInputHandler::InputView

Predefined input views for mouse and touch based input handlers.

ConstantValueDescription
QAbstract3DInputHandler::InputViewNone0Mouse or touch not on a view.
QAbstract3DInputHandler::InputViewOnPrimary1Mouse or touch input received on the primary view area. If secondary view is displayed when inputView becomes InputViewOnPrimary, secondary view is closed.
QAbstract3DInputHandler::InputViewOnSecondary2Mouse or touch input received on the secondary view area.

属性

inputPosition : QPoint

This property holds the last input position based on the processed input events.

访问函数:

QPoint inputPosition() const
void setInputPosition(const QPoint &position)

Notifier signal:

void positionChanged(const QPoint &position)

inputView : InputView

This property holds the current enumerated input view based on the view of the processed input events.

One of the InputView enum values.

When the view changes, the inputViewChanged signal is emitted.

访问函数:

InputView inputView() const
void setInputView(InputView inputView)

Notifier signal:

void inputViewChanged(QAbstract3DInputHandler::InputView view)

参见 InputView.

scene : Q3DScene *

This property holds the 3D scene this abstract input handler is controlling.

One input handler can control one scene. Setting a scene to an input handler does not transfer the ownership of the scene.

访问函数:

Q3DScene *scene() const
void setScene(Q3DScene *scene)

Notifier signal:

void sceneChanged(Q3DScene *scene)

成员函数

[protected] QAbstract3DInputHandler::QAbstract3DInputHandler(QObject *parent = Q_NULLPTR)

Constructs the base class. An optional parent parameter can be given and is then passed to QObject constructor.

[virtual] QAbstract3DInputHandler::~QAbstract3DInputHandler()

Destroys the base class.

[virtual] void QAbstract3DInputHandler::mouseDoubleClickEvent(QMouseEvent *event)

Override this to handle mouse double click events. Mouse double click event is given in the event.

[virtual] void QAbstract3DInputHandler::mouseMoveEvent(QMouseEvent *event, const QPoint &mousePos)

Override this to handle mouse move events. Mouse move event is given in the event and the mouse position in mousePos.

[virtual] void QAbstract3DInputHandler::mousePressEvent(QMouseEvent *event, const QPoint &mousePos)

Override this to handle mouse press events. Mouse press event is given in the event and the mouse position in mousePos.

[virtual] void QAbstract3DInputHandler::mouseReleaseEvent(QMouseEvent *event, const QPoint &mousePos)

Override this to handle mouse release events. Mouse release event is given in the event and the mouse position in mousePos.

[protected] int QAbstract3DInputHandler::prevDistance() const

Returns the manhattan length between last two input positions.

参见 setPrevDistance().

[protected] QPoint QAbstract3DInputHandler::previousInputPos() const

Returns the previous input position.

参见 setPreviousInputPos().

[protected] void QAbstract3DInputHandler::setPrevDistance(int distance)

Sets the distance (manhattan length) between last two input positions.

参见 prevDistance().

[protected] void QAbstract3DInputHandler::setPreviousInputPos(const QPoint &position)

Sets the previous input position to the point given by position.

参见 previousInputPos().

[virtual] void QAbstract3DInputHandler::touchEvent(QTouchEvent *event)

Override this to handle touch input events. Touch event is given in the event.

[virtual] void QAbstract3DInputHandler::wheelEvent(QWheelEvent *event)

Override this to handle wheel events. Wheel event is given in the event.