Home · All Classes · Modules · QSS HELP · QSS 案例 · VER007 HOME |
该QSplitterHandle类提供处理分离器的功能。More...
继承QWidget。
该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( ),除非手柄有特殊尺寸要求。
该parent的说法,如果不是没有,原因self通过Qt的,而不是PyQt的拥有。
创建QSplitter用给定的处理orientation和QSplitter parent。
返回最接近的合法地位pos的分路器手柄。该位置从分离器的左边或顶边测量,即使是从右到左的语言。
See also QSplitter.closestLegalPosition()和moveSplitter( ) 。
从重新实现QObject.event( ) 。
从重新实现QWidget.mouseMoveEvent( ) 。
从重新实现QWidget.mousePressEvent( ) 。
从重新实现QWidget.mouseReleaseEvent( ) 。
告诉分路器来移动该句柄来定位pos,它是从微件的左边缘或上边缘之间的距离。
需要注意的是pos也从左侧(或顶部)测量从右到左的语言。这个函数将映射pos调用前的适当位置QSplitter.moveSplitter( ) 。
See also QSplitter.moveSplitter()和closestLegalPosition( ) 。
返回True如果部件是动态调整大小(不透明) ,否则返回False 。这个值是由控制QSplitter。
See also QSplitter.opaqueResize( ) 。
返回手柄的方向。这通常是由传播QSplitter。
See also setOrientation()和QSplitter.orientation( ) 。
从重新实现QWidget.paintEvent( ) 。
从重新实现QWidget.resizeEvent( ) 。
设置分离器手柄的方向向orientation。这通常是由传播QSplitter。
See also orientation()和QSplitter.setOrientation( ) 。
从重新实现QWidget.sizeHint( ) 。
返回与此分路器句柄相关联的分离器。
See also QSplitter.handle( ) 。
PyQt 4.10.3 for X11 | Copyright © Riverbank Computing Ltd and Nokia 2012 | Qt 4.8.5 |