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

QSplitterHandle Class Reference
[QtGui module]

该QSplitterHandle类提供​​处理分离器的功能。More...

继承QWidget

Methods


Detailed Description

该QSplitterHandle类提供​​处理分离器的功能。

QSplitterHandle通常人们所认为的,当他们想到一个分离器。它是用于调整大小的窗口小部件的把手。

用一个典型的开发QSplitter永远不用担心QSplitterHandle 。提供它是为了谁想要分配器手柄,提供额外的功能,如弹出式菜单的开发。

典型的方法之一将创造分配器手柄是子类化QSplitter然后重新实现QSplitter.createHandle( )实例化自定义的分配器手柄。例如,最小QSplitter子类可能看起来像这样:

 class Splitter : public QSplitter
 {
 public:
     Splitter(Qt.Orientation orientation, QWidget *parent = 0);

 protected:
     QSplitterHandle *createHandle();
 };

createHandle()实现简单地构造了一个自定义的分配器手柄,称为Splitter在这个例子中:

 QSplitterHandle *Splitter.createHandle()
 {
     return new SplitterHandle(orientation(), this);
 }

对一个给定的句柄信息可以使用类似的功能来获得orientation()和opaqueResize() ,并从它的父分离器检索。像这些细节可以用来给定制处理不同的外观取决于分离器的方向。

该自定义手柄子类的复杂性取决于它需要执行的任务。一个简单的子类可能只提供一个paintEvent()实现:

 void SplitterHandle.paintEvent(QPaintEvent *event)
 {
     QPainter painter(this);
     if (orientation() == Qt.Horizontal) {
         gradient.setStart(rect().left(), rect().height()/2);
         gradient.setFinalStop(rect().right(), rect().height()/2);
     } else {
         gradient.setStart(rect().width()/2, rect().top());
         gradient.setFinalStop(rect().width()/2, rect().bottom());
     }
     painter.fillRect(event->rect(), QBrush(gradient));
 }

在该示例中,预定义的梯度设置不同,这取决于手柄的方向。 QSplitterHandle提供了一个合理的尺寸暗示的手柄,所以子类并不需要提供一个重新实现sizeHint( ),除非手柄有特殊尺寸要求。


Method Documentation

QSplitterHandle.__init__ (self, Qt.Orientation o, QSplitter parent)

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

创建QSplitter用给定的处理orientationQSplitter parent

int QSplitterHandle.closestLegalPosition (self, int p)

返回最接近的合法地位pos的分路器手柄。该位置从分离器的左边或顶边测量,即使是从右到左的语言。

See also QSplitter.closestLegalPosition()和moveSplitter( ) 。

bool QSplitterHandle.event (self, QEvent)

从重新实现QObject.event( ) 。

QSplitterHandle.mouseMoveEvent (self, QMouseEvent)

从重新实现QWidget.mouseMoveEvent( ) 。

QSplitterHandle.mousePressEvent (self, QMouseEvent)

从重新实现QWidget.mousePressEvent( ) 。

QSplitterHandle.mouseReleaseEvent (self, QMouseEvent)

从重新实现QWidget.mouseReleaseEvent( ) 。

QSplitterHandle.moveSplitter (self, int p)

告诉分路器来移动该句柄来定位pos,它是从微件的左边缘或上边缘之间的距离。

需要注意的是pos也从左侧(或顶部)测量从右到左的语言。这个函数将映射pos调用前的适当位置QSplitter.moveSplitter( ) 。

See also QSplitter.moveSplitter()和closestLegalPosition( ) 。

bool QSplitterHandle.opaqueResize (self)

返回True如果部件是动态调整大小(不透明) ,否则返回False 。这个值是由控制QSplitter

See also QSplitter.opaqueResize( ) 。

Qt.Orientation QSplitterHandle.orientation (self)

返回手柄的方向。这通常是由传播QSplitter

See also setOrientation()和QSplitter.orientation( ) 。

QSplitterHandle.paintEvent (self, QPaintEvent)

从重新实现QWidget.paintEvent( ) 。

QSplitterHandle.resizeEvent (self, QResizeEvent)

从重新实现QWidget.resizeEvent( ) 。

QSplitterHandle.setOrientation (self, Qt.Orientation o)

设置分离器手柄的方向向orientation。这通常是由传播QSplitter

See also orientation()和QSplitter.setOrientation( ) 。

QSize QSplitterHandle.sizeHint (self)

从重新实现QWidget.sizeHint( ) 。

QSplitter QSplitterHandle.splitter (self)

返回与此分路器句柄相关联的分离器。

See also QSplitter.handle( ) 。




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