Home · All Classes · Modules  · QSS HELP  · QSS 案例 · VER007 HOME

QRubberBand Class Reference
[QtGui module]

该QRubberBand类提供了一个矩形或线条,可以显示一个选择或边界。More...

继承QWidget

Types

Methods


Detailed Description

该QRubberBand类提供了一个矩形或线条,可以显示一个选择或边界。

一种橡胶带通常用来显示一个新的边界区域(如在一个QSplitterQDockWidget那是出坞) 。历史上使用这种已实施QPainter和XOR ,但这种方法并不总是正确的,因为渲染可能发生在下面的橡皮筋​​窗口工作,但橡皮筋之前已经被“抹掉” 。

每当你需要渲染围绕一个给定区域橡皮筋(或代表一行),你可以创建一个QRubberBand ,然后调用setGeometry( )move()或resize()来定位并调整其大小。一个常见的模式是这样做与鼠标事件一起使用。例如:

 void Widget.mousePressEvent(QMouseEvent *event)
 {
     origin = event->pos();
     if (!rubberBand)
         rubberBand = new QRubberBand(QRubberBand.Rectangle, this);
     rubberBand->setGeometry(QRect(origin, QSize()));
     rubberBand->show();
 }

 void Widget.mouseMoveEvent(QMouseEvent *event)
 {
     rubberBand->setGeometry(QRect(origin, event->pos()).normalized());
 }

 void Widget.mouseReleaseEvent(QMouseEvent *event)
 {
     rubberBand->hide();
     // determine selection, for example using QRect.intersects()
     // and QRect.contains().
 }

如果你传递一个父QRubberBand的构造函数,橡皮筋将只显示内部其父,但停留在其他的子控件的顶部。如果没有父母传递, QRubberBand将作为一个顶级窗口部件。

Call show()以使橡胶带清晰可见;也当橡胶带不是顶层。隐藏或销毁的部件将使得橡胶带消失。橡胶带可以是一个RectangleLine(垂直或水平) ,这取决于shape( )获给予该建造。


Type Documentation

QRubberBand.Shape

此枚举指定什么形状的QRubberBand应该有。这是向下传递到样式系统的绘图提示,并且可以由每个被解释QStyle

Constant Value Description
QRubberBand.Line 0 A QRubberBand可以代表一个垂直或水平线。几何中仍给予rect( )而行,将填补在大多数款式给定的几何形状。
QRubberBand.Rectangle 1 A QRubberBand可以表示一个矩形。有些款式会将此解释为填充(通常半透明)长方形或矩形轮廓。

Method Documentation

QRubberBand.__init__ (self, Shape, QWidget parent = None)

parent的说法,如果不是没有,原因self通过Qt的,而不是PyQt的拥有。

构造形状的橡皮筋s,与父p

默认情况下,一个长方形的橡胶带(s is Rectangle)将使用的掩模,使该矩形的小边界是所有可见。有些款式(例如,原生的Mac OS X )将改变这一点,并调用QWidget.setWindowOpacity( )方法使一个半透明填充选择矩形。

QRubberBand.changeEvent (self, QEvent)

从重新实现QWidget.changeEvent( ) 。

bool QRubberBand.event (self, QEvent e)

从重新实现QObject.event( ) 。

QRubberBand.initStyleOption (self, QStyleOptionRubberBand option)

初始化option与其它的值QRubberBand。当他们需要一个这种方法是有用的子类QStyleOptionRubberBand,但不希望在所有的信息填写自己。

See also QStyleOption.initFrom( ) 。

QRubberBand.move (self, QPoint p)

移动橡皮筋到点(xy) 。

See also resize( ) 。

QRubberBand.move (self, int ax, int ay)

这是一个重载函数。

移动橡皮筋指向p

See also resize( ) 。

QRubberBand.moveEvent (self, QMoveEvent)

从重新实现QWidget.moveEvent( ) 。

QRubberBand.paintEvent (self, QPaintEvent)

从重新实现QWidget.paintEvent( ) 。

QRubberBand.resize (self, int w, int h)

调整大小的橡皮筋​​,使得其宽度为width,它的高度是height

See also move( ) 。

QRubberBand.resize (self, QSize s)

这是一个重载函数。

调整大小的橡皮筋​​,使新的大小是size

See also move( ) 。

QRubberBand.resizeEvent (self, QResizeEvent)

从重新实现QWidget.resizeEvent( ) 。

QRubberBand.setGeometry (self, QRect r)

设置橡皮筋的几何rect,它的父窗口部件的坐标系中指定。

See also QWidget.geometry

QRubberBand.setGeometry (self, int ax, int ay, int aw, int ah)

这是一个重载函数。

设置橡皮的几何形状,其左上角位于该点的矩形(xy)中,用由指定的尺寸widthheight。几何体指定的父窗口部件的坐标系中。

Shape QRubberBand.shape (self)

返回此橡皮筋的形状。形状只能在构造设置。

QRubberBand.showEvent (self, QShowEvent)

从重新实现QWidget.showEvent( ) 。




PyQt 4.10.3 for X11 Copyright © Riverbank Computing Ltd and Nokia 2012 Qt 4.8.5