Table Of Contents

Previous topic

QKeyEvent

Next topic

QWheelEvent

QTabletEvent

Inheritance diagram of QTabletEvent

Synopsis

Functions

Detailed Description

The PySide.QtGui.QTabletEvent class contains parameters that describe a Tablet event.

Tablet Events are generated from a Wacom tablet. Most of the time you will want to deal with events from the tablet as if they were events from a mouse; for example, you would retrieve the cursor position with PySide.QtGui.QTabletEvent.x() , PySide.QtGui.QTabletEvent.y() , PySide.QtGui.QTabletEvent.pos() , PySide.QtGui.QTabletEvent.globalX() , PySide.QtGui.QTabletEvent.globalY() , and PySide.QtGui.QTabletEvent.globalPos() . In some situations you may wish to retrieve the extra information provided by the tablet device driver; for example, you might want to do subpixeling with higher resolution coordinates or you may want to adjust color brightness based on pressure. PySide.QtGui.QTabletEvent allows you to read the PySide.QtGui.QTabletEvent.pressure() , the PySide.QtGui.QTabletEvent.xTilt() , and PySide.QtGui.QTabletEvent.yTilt() , as well as the type of device being used with PySide.QtGui.QTabletEvent.device() (see QTabletEvent.TabletDevice ). It can also give you the minimum and maximum values for each device’s pressure and high resolution coordinates.

A tablet event contains a special accept flag that indicates whether the receiver wants the event. You should call QTabletEvent.accept() if you handle the tablet event; otherwise it will be sent to the parent widget. The exception are TabletEnterProximity and TabletLeaveProximity events, these are only sent to PySide.QtGui.QApplication and don’t check whether or not they are accepted.

The QWidget.setEnabled() function can be used to enable or disable mouse and keyboard events for a widget.

The event handler QWidget.tabletEvent() receives all three types of tablet events. Qt will first send a tabletEvent then, if it is not accepted, it will send a mouse event. This allows applications that don’t utilize tablets to use a tablet like a mouse, while also enabling those who want to use both tablets and mouses differently.

Notes for X11 Users

Qt uses the following hard-coded names to identify tablet devices from the xorg.conf file on X11 (apart from IRIX): ‘stylus’, ‘pen’, and ‘eraser’. If the devices have other names, they will not be picked up Qt.
class PySide.QtGui.QTabletEvent(t, pos, globalPos, hiResGlobalPos, device, pointerType, pressure, xTilt, yTilt, tangentialPressure, rotation, z, keyState, uniqueID)
Parameters:
  • keyStatePySide.QtCore.Qt.KeyboardModifiers
  • pointerTypePySide.QtCore.int
  • zPySide.QtCore.int
  • rotationPySide.QtCore.qreal
  • globalPosPySide.QtCore.QPoint
  • devicePySide.QtCore.int
  • uniqueIDPySide.QtCore.qint64
  • hiResGlobalPosPySide.QtCore.QPointF
  • xTiltPySide.QtCore.int
  • tangentialPressurePySide.QtCore.qreal
  • tPySide.QtCore.QEvent.Type
  • posPySide.QtCore.QPoint
  • pressurePySide.QtCore.qreal
  • yTiltPySide.QtCore.int
PySide.QtGui.QTabletEvent.TabletDevice

This enum defines what type of device is generating the event.

Constant Description
QTabletEvent.NoDevice No device, or an unknown device.
QTabletEvent.Puck A Puck (a device that is similar to a flat mouse with a transparent circle with cross-hairs).
QTabletEvent.Stylus A Stylus.
QTabletEvent.Airbrush An airbrush
QTabletEvent.FourDMouse A 4D Mouse.
QTabletEvent.RotationStylus A special stylus that also knows about rotation (a 6D stylus).
PySide.QtGui.QTabletEvent.PointerType

This enum defines what type of point is generating the event.

Constant Description
QTabletEvent.UnknownPointer An unknown device.
QTabletEvent.Pen Tip end of a stylus-like device (the narrow end of the pen).
QTabletEvent.Cursor Any puck-like device.
QTabletEvent.Eraser Eraser end of a stylus-like device (the broad end of the pen).
PySide.QtGui.QTabletEvent.device()
Return type:PySide.QtGui.QTabletEvent.TabletDevice

Returns the type of device that generated the event.

See also

QTabletEvent.TabletDevice

PySide.QtGui.QTabletEvent.globalPos()
Return type:PySide.QtCore.QPoint

Returns the global position of the device at the time of the event . This is important on asynchronous windows systems like X11; whenever you move your widgets around in response to mouse events, PySide.QtGui.QTabletEvent.globalPos() can differ significantly from the current position QCursor.pos() .

PySide.QtGui.QTabletEvent.globalX()
Return type:PySide.QtCore.int

Returns the global x position of the mouse pointer at the time of the event.

PySide.QtGui.QTabletEvent.globalY()
Return type:PySide.QtCore.int

Returns the global y position of the tablet device at the time of the event.

PySide.QtGui.QTabletEvent.hiResGlobalPos()
Return type:PySide.QtCore.QPointF

The high precision coordinates delivered from the tablet expressed. Sub pixeling information is in the fractional part of the PySide.QtCore.QPointF .

PySide.QtGui.QTabletEvent.hiResGlobalX()
Return type:PySide.QtCore.qreal

The high precision x position of the tablet device.

PySide.QtGui.QTabletEvent.hiResGlobalY()
Return type:PySide.QtCore.qreal

The high precision y position of the tablet device.

PySide.QtGui.QTabletEvent.pointerType()
Return type:PySide.QtGui.QTabletEvent.PointerType

Returns the type of point that generated the event.

PySide.QtGui.QTabletEvent.pos()
Return type:PySide.QtCore.QPoint

Returns the position of the device, relative to the widget that received the event.

If you move widgets around in response to mouse events, use PySide.QtGui.QTabletEvent.globalPos() instead of this function.

PySide.QtGui.QTabletEvent.pressure()
Return type:PySide.QtCore.qreal

Returns the pressure for the device. 0.0 indicates that the stylus is not on the tablet, 1.0 indicates the maximum amount of pressure for the stylus.

PySide.QtGui.QTabletEvent.rotation()
Return type:PySide.QtCore.qreal

Returns the rotation of the current device in degress. This is usually given by a 4D Mouse. If the device doesn’t support rotation this value is always 0.0.

PySide.QtGui.QTabletEvent.tangentialPressure()
Return type:PySide.QtCore.qreal

Returns the tangential pressure for the device. This is typically given by a finger wheel on an airbrush tool. The range is from -1.0 to 1.0. 0.0 indicates a neutral position. Current airbrushes can only move in the positive direction from the neutrual position. If the device does not support tangential pressure, this value is always 0.0.

PySide.QtGui.QTabletEvent.uniqueId()
Return type:PySide.QtCore.qint64

Returns a unique ID for the current device, making it possible to differentiate between multiple devices being used at the same time on the tablet.

Support of this feature is dependent on the tablet.

Values for the same device may vary from OS to OS.

Later versions of the Wacom driver for Linux will now report the ID information. If you have a tablet that supports unique ID and are not getting the information on Linux, consider upgrading your driver.

As of Qt 4.2, the unique ID is the same regardless of the orientation of the pen. Earlier versions would report a different value when using the eraser-end versus the pen-end of the stylus on some OS’s.

PySide.QtGui.QTabletEvent.x()
Return type:PySide.QtCore.int

Returns the x position of the device, relative to the widget that received the event.

PySide.QtGui.QTabletEvent.xTilt()
Return type:PySide.QtCore.int

Returns the angle between the device (a pen, for example) and the perpendicular in the direction of the x axis. Positive values are towards the tablet’s physical right. The angle is in the range -60 to +60 degrees.

../../_images/qtabletevent-tilt.png
PySide.QtGui.QTabletEvent.y()
Return type:PySide.QtCore.int

Returns the y position of the device, relative to the widget that received the event.

PySide.QtGui.QTabletEvent.yTilt()
Return type:PySide.QtCore.int

Returns the angle between the device (a pen, for example) and the perpendicular in the direction of the y axis. Positive values are towards the bottom of the tablet. The angle is within the range -60 to +60 degrees.

PySide.QtGui.QTabletEvent.z()
Return type:PySide.QtCore.int

Returns the z position of the device. Typically this is represented by a wheel on a 4D Mouse. If the device does not support a Z-axis, this value is always zero. This is not the same as pressure.