QSplitterHandle¶
The QSplitterHandle
class provides handle functionality for the splitter. More…
Synopsis¶
Functions¶
def
closestLegalPosition
(p)def
moveSplitter
(p)def
opaqueResize
()def
orientation
()def
setOrientation
(o)def
splitter
()
Detailed Description¶
QSplitterHandle
is typically what people think about when they think about a splitter. It is the handle that is used to resize the widgets.
A typical developer using QSplitter
will never have to worry about QSplitterHandle
. It is provided for developers who want splitter handles that provide extra features, such as popup menus.
The typical way one would create splitter handles is to subclass QSplitter
and then reimplement createHandle()
to instantiate the custom splitter handle. For example, a minimum QSplitter
subclass might look like this:
class Splitter(QSplitter): # public Splitter(Qt.Orientation orientation, QWidget parent = None) protected: createHandle = QSplitterHandle()
The createHandle()
implementation simply constructs a custom splitter handle, called Splitter
in this example:
Splitter::createHandle = QSplitterHandle() def SplitterHandle(orientation(),self):
Information about a given handle can be obtained using functions like orientation()
and opaqueResize()
, and is retrieved from its parent splitter. Details like these can be used to give custom handles different appearances depending on the splitter’s orientation.
The complexity of a custom handle subclass depends on the tasks that it needs to perform. A simple subclass might only provide a paintEvent()
implementation:
def paintEvent(self, event): painter = QPainter(self) 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))
In this example, a predefined gradient is set up differently depending on the orientation of the handle. QSplitterHandle
provides a reasonable size hint for the handle, so the subclass does not need to provide a reimplementation of sizeHint()
unless the handle has special size requirements.
See also
- class PySide6.QtWidgets.QSplitterHandle(o, parent)¶
- Parameters
o –
Orientation
parent –
PySide6.QtWidgets.QSplitter
Creates a QSplitter
handle with the given orientation
and parent
.
- PySide6.QtWidgets.QSplitterHandle.closestLegalPosition(p)¶
- Parameters
p – int
- Return type
int
Returns the closest legal position to pos
of the splitter handle. The positions are measured from the left or top edge of the splitter, even for right-to-left languages.
See also
- PySide6.QtWidgets.QSplitterHandle.moveSplitter(p)¶
- Parameters
p – int
Tells the splitter to move this handle to position pos
, which is the distance from the left or top edge of the widget.
Note that pos
is also measured from the left (or top) for right-to-left languages. This function will map pos
to the appropriate position before calling moveSplitter()
.
See also
- PySide6.QtWidgets.QSplitterHandle.opaqueResize()¶
- Return type
bool
Returns true
if widgets are resized dynamically (opaquely) while interactively moving the splitter. Otherwise returns false
. This value is controlled by the QSplitter
.
See also
- PySide6.QtWidgets.QSplitterHandle.orientation()¶
- Return type
Returns the handle’s orientation. This is usually propagated from the QSplitter
.
See also
- PySide6.QtWidgets.QSplitterHandle.setOrientation(o)¶
- Parameters
o –
Orientation
Sets the orientation of the splitter handle to orientation
. This is usually propagated from the QSplitter
.
See also
- PySide6.QtWidgets.QSplitterHandle.splitter()¶
- Return type
Returns the splitter associated with this splitter handle.
See also
© 2022 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.