|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.trolltech.qt.internal.QSignalEmitterInternal
com.trolltech.qt.QSignalEmitter
com.trolltech.qt.QtJambiObject
com.trolltech.qt.core.QObject
com.trolltech.qt.gui.QWidget
com.trolltech.qt.gui.QRubberBand
public class QRubberBand
The QRubberBand
class provides a rectangle or line that can indicate a selection or a boundary. A rubber band is often used to show a new bounding area (as in a QSplitter
or a QDockWidget
that is undocking). Historically this has been implemented using a QPainter
and XOR, but this approach doesn't always work properly since rendering can happen in the window below the rubber band, but before the rubber band has been "erased".
You can create a QRubberBand
whenever you need to render a rubber band around a given area (or to represent a single line), then call setGeometry(), move() or resize() to position and size it. A common pattern is to do this in conjunction with mouse events. For example:
protected void mousePressEvent(QMouseEvent event) { origin = event.pos(); if (rubberBand != null) rubberBand = new QRubberBand(QRubberBand.Shape.Rectangle, this); rubberBand.setGeometry(new QRect(origin, new QSize())); rubberBand.show(); } protected void mouseMoveEvent(QMouseEvent event) { rubberBand.setGeometry(new QRect(origin, event.pos()).normalized()); } protected void mouseReleaseEvent(QMouseEvent event) { rubberBand.hide(); // determine selection, for example using QRect.intersects() // and QRect.contains(). }If you pass a parent to
QRubberBand
's constructor, the rubber band will display only inside its parent, but stays on top of other child widgets. If no parent is passed, QRubberBand
will act as a top-level widget. Call show()
to make the rubber band visible; also when the rubber band is not a top-level. Hiding or destroying the widget will make the rubber band disappear. The rubber band can be a Rectangle
or a Line
(vertical or horizontal), depending on the shape()
it was given when constructed.
Nested Class Summary | |
---|---|
static class |
QRubberBand.Shape
This enum type lists the built-in shapes supported by QTabBar . |
Nested classes/interfaces inherited from class com.trolltech.qt.gui.QWidget |
---|
QWidget.RenderFlag, QWidget.RenderFlags |
Nested classes/interfaces inherited from class com.trolltech.qt.QSignalEmitter |
---|
QSignalEmitter.AbstractSignal, QSignalEmitter.Signal0, QSignalEmitter.Signal1, QSignalEmitter.Signal2, QSignalEmitter.Signal3, QSignalEmitter.Signal4, QSignalEmitter.Signal5, QSignalEmitter.Signal6, QSignalEmitter.Signal7, QSignalEmitter.Signal8, QSignalEmitter.Signal9 |
Nested classes/interfaces inherited from class com.trolltech.qt.internal.QSignalEmitterInternal |
---|
com.trolltech.qt.internal.QSignalEmitterInternal.AbstractSignalInternal |
Field Summary |
---|
Fields inherited from class com.trolltech.qt.gui.QWidget |
---|
customContextMenuRequested |
Fields inherited from class com.trolltech.qt.internal.QSignalEmitterInternal |
---|
currentSender |
Constructor Summary | |
---|---|
QRubberBand(QRubberBand.Shape arg__1)
Constructs a rubber band of shape s, with parent p. |
|
QRubberBand(QRubberBand.Shape arg__1,
QWidget arg__2)
Constructs a rubber band of shape s, with parent p. |
Method Summary | |
---|---|
protected void |
initStyleOption(QStyleOptionRubberBand option)
This is a overloaded function provided for convenience. |
void |
moveRubberBand(int x,
int y)
Moves the rubberband to point (x, y). |
void |
moveRubberBand(QPoint p)
Moves the rubberband to point p. |
void |
resizeRubberBand(int w,
int h)
Resizes the rubberband so that its width is width, and its height is height. |
void |
resizeRubberBand(QSize s)
Resizes the rubberband so that its new size is size. |
void |
setRubberBandGeometry(int x,
int y,
int w,
int h)
Sets the geometry of the rubberband to the rectangle whose top-left corner lies at the point (x, y), and with dimensions specified by width and height. |
void |
setRubberBandGeometry(QRect r)
Sets the geometry of the rubber band to rect, specified in the coordinate system of its parent widget. |
QRubberBand.Shape |
shape()
Returns the shape of this rubber band. |
Methods inherited from class com.trolltech.qt.core.QObject |
---|
childEvent, children, connectSlotsByName, customEvent, disposeLater, dumpObjectInfo, dumpObjectTree, dynamicPropertyNames, event, eventFilter, findChild, findChild, findChild, findChildren, findChildren, findChildren, findChildren, indexOfProperty, installEventFilter, isWidgetType, killTimer, moveToThread, objectName, parent, properties, property, removeEventFilter, setObjectName, setParent, setProperty, startTimer, timerEvent, toString, userProperty |
Methods inherited from class com.trolltech.qt.QtJambiObject |
---|
dispose, disposed, equals, finalize, reassignNativeResources, tr, tr, tr |
Methods inherited from class com.trolltech.qt.QSignalEmitter |
---|
blockSignals, disconnect, disconnect, signalsBlocked, signalSender, thread |
Methods inherited from class com.trolltech.qt.internal.QSignalEmitterInternal |
---|
__qt_signalInitialization |
Methods inherited from class java.lang.Object |
---|
clone, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface com.trolltech.qt.QtJambiInterface |
---|
disableGarbageCollection, nativeId, nativePointer, reenableGarbageCollection, setJavaOwnership |
Constructor Detail |
---|
public QRubberBand(QRubberBand.Shape arg__1)
By default a rectangular rubber band (s is Rectangle) will use a mask, so that a small border of the rectangle is all that is visible. Some styles (e.g., native Mac OS X) will change this and call QWidget::setWindowOpacity()
to make a semi-transparent filled selection rectangle.
public QRubberBand(QRubberBand.Shape arg__1, QWidget arg__2)
By default a rectangular rubber band (s is Rectangle) will use a mask, so that a small border of the rectangle is all that is visible. Some styles (e.g., native Mac OS X) will change this and call QWidget::setWindowOpacity()
to make a semi-transparent filled selection rectangle.
Method Detail |
---|
public final void moveRubberBand(QPoint p)
public final void moveRubberBand(int x, int y)
public final void resizeRubberBand(QSize s)
public final void resizeRubberBand(int w, int h)
public final void setRubberBandGeometry(QRect r)
QWidget::geometry
.
public final void setRubberBandGeometry(int x, int y, int w, int h)
public final QRubberBand.Shape shape()
protected final void initStyleOption(QStyleOptionRubberBand option)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |