[QtGui module]
该QSplitterHandle类提供处理分离器的功能。More…
继承QWidget。
Methods
__init__ (self, Qt.Orientation o, QSplitter parent)
int closestLegalPosition (self, int p)
bool event (self, QEvent)
mouseMoveEvent (self, QMouseEvent)
mousePressEvent (self, QMouseEvent)
mouseReleaseEvent (self, QMouseEvent)
moveSplitter (self, int p)
bool opaqueResize (self)
Qt.Orientation orientation (self)
paintEvent (self, QPaintEvent)
resizeEvent (self, QResizeEvent)
setOrientation (self, Qt.Orientation o)
QSize sizeHint (self)
QSplitter splitter (self)
Detailed Description
该QSplitterHandle类提供处理分离器的功能。
QSplitterHandle通常人们所认为的,当他们想到一个分离器。它是用于调整大小的窗口小部件的把手。
用一个典型的开发QSplitter永远不用担心QSplitterHandle 。提供它是为了谁想要分配器手柄,提供额外的功能,如弹出式菜单的开发。
典型的方法之一将创造分配器手柄是子类化QSplitter然后重新实现QSplitter.createHandle( )实例化自定义的分配器手柄。例如,最小QSplitter子类可能看起来像这样:
class Splitter : public [QSplitter](docs_qsplitter.html)
{
public:
Splitter([Qt](docs_qt.html).Orientation orientation, [QWidget](docs_qwidget.html) *parent = 0);
protected:
QSplitterHandle *createHandle();
};
该createHandle()实现简单地构造了一个自定义的分配器手柄,称为Splitter
在这个例子中:
QSplitterHandle *Splitter.createHandle()
{
return new SplitterHandle(orientation(), this);
}
对一个给定的句柄信息可以使用类似的功能来获得orientation()和opaqueResize() ,并从它的父分离器检索。像这些细节可以用来给定制处理不同的外观取决于分离器的方向。
该自定义手柄子类的复杂性取决于它需要执行的任务。一个简单的子类可能只提供一个paintEvent()实现:
void SplitterHandle.paintEvent([QPaintEvent](docs_qpaintevent.html) *event)
{
[QPainter](docs_qpainter.html) painter(this);
if (orientation() == [Qt](docs_qt.html).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](docs_qbrush.html)(gradient));
}
在该示例中,预定义的梯度设置不同,这取决于手柄的方向。 QSplitterHandle提供了一个合理的尺寸暗示的手柄,所以子类并不需要提供一个重新实现sizeHint( ),除非手柄有特殊尺寸要求。
Method Documentation
QSplitterHandle.__init__ (self, Qt.Orientation o, QSplitter parent)
该parent的说法,如果不是没有,原因self通过Qt的,而不是PyQt的拥有。
创建QSplitter用给定的处理orientation和QSplitter 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)
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)
QSplitter QSplitterHandle.splitter (self)
[
返回与此分路器句柄相关联的分离器。
](docs_qsplitter.html)
See also QSplitter.handle( ) 。