Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qsplitter.h
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#ifndef QSPLITTER_H
5#define QSPLITTER_H
6
7#include <QtWidgets/qtwidgetsglobal.h>
8#include <QtWidgets/qframe.h>
9#include <QtWidgets/qsizepolicy.h>
10
12
14
16class QTextStream;
17
18class QSplitterHandle;
19
20class Q_WIDGETS_EXPORT QSplitter : public QFrame
21{
23
24 Q_PROPERTY(Qt::Orientation orientation READ orientation WRITE setOrientation)
25 Q_PROPERTY(bool opaqueResize READ opaqueResize WRITE setOpaqueResize)
26 Q_PROPERTY(int handleWidth READ handleWidth WRITE setHandleWidth)
27 Q_PROPERTY(bool childrenCollapsible READ childrenCollapsible WRITE setChildrenCollapsible)
28
29public:
30 explicit QSplitter(QWidget* parent = nullptr);
31 explicit QSplitter(Qt::Orientation, QWidget* parent = nullptr);
32 ~QSplitter();
33
35 void insertWidget(int index, QWidget *widget);
36 QWidget *replaceWidget(int index, QWidget *widget);
37
38 void setOrientation(Qt::Orientation);
39 Qt::Orientation orientation() const;
40
41 void setChildrenCollapsible(bool);
42 bool childrenCollapsible() const;
43
44 void setCollapsible(int index, bool);
45 bool isCollapsible(int index) const;
46 void setOpaqueResize(bool opaque = true);
47 bool opaqueResize() const;
48 void refresh();
49
50 QSize sizeHint() const override;
51 QSize minimumSizeHint() const override;
52
53 QList<int> sizes() const;
54 void setSizes(const QList<int> &list);
55
56 QByteArray saveState() const;
57 bool restoreState(const QByteArray &state);
58
59 int handleWidth() const;
60 void setHandleWidth(int);
61
62 int indexOf(QWidget *w) const;
63 QWidget *widget(int index) const;
64 int count() const;
65
66 void getRange(int index, int *, int *) const;
67 QSplitterHandle *handle(int index) const;
68
69 void setStretchFactor(int index, int stretch);
70
72 void splitterMoved(int pos, int index);
73
74protected:
75 virtual QSplitterHandle *createHandle();
76
77 void childEvent(QChildEvent *) override;
78
79 bool event(QEvent *) override;
80 void resizeEvent(QResizeEvent *) override;
81
82 void changeEvent(QEvent *) override;
83 void moveSplitter(int pos, int index);
84 void setRubberBand(int position);
85 int closestLegalPosition(int, int);
86
87
89 Q_DISABLE_COPY(QSplitter)
90 Q_DECLARE_PRIVATE(QSplitter)
92 friend class QSplitterHandle;
93};
94
95
97class Q_WIDGETS_EXPORT QSplitterHandle : public QWidget
98{
100public:
101 explicit QSplitterHandle(Qt::Orientation o, QSplitter *parent);
103
104 void setOrientation(Qt::Orientation o);
105 Qt::Orientation orientation() const;
106 bool opaqueResize() const;
107 QSplitter *splitter() const;
108
109 QSize sizeHint() const override;
110
111protected:
112 void paintEvent(QPaintEvent *) override;
113 void mouseMoveEvent(QMouseEvent *) override;
114 void mousePressEvent(QMouseEvent *) override;
115 void mouseReleaseEvent(QMouseEvent *) override;
116 void resizeEvent(QResizeEvent *) override;
117 bool event(QEvent *) override;
118
119 void moveSplitter(int p);
120 int closestLegalPosition(int p);
121
122private:
123 Q_DISABLE_COPY(QSplitterHandle)
124 Q_DECLARE_PRIVATE(QSplitterHandle)
125};
126
128
129#endif // QSPLITTER_H
\inmodule QtCore
Definition qbytearray.h:57
\inmodule QtCore
Definition qcoreevent.h:379
\inmodule QtCore
Definition qcoreevent.h:45
The QFrame class is the base class of widgets that can have a frame.
Definition qframe.h:17
Definition qlist.h:75
\inmodule QtGui
Definition qevent.h:196
The QPaintEvent class contains event parameters for paint events.
Definition qevent.h:486
The QResizeEvent class contains event parameters for resize events.
Definition qevent.h:548
\inmodule QtCore
Definition qsize.h:25
The QSplitterHandle class provides handle functionality for the splitter.
Definition qsplitter.h:98
The QSplitter class implements a splitter widget.
Definition qsplitter.h:21
\inmodule QtCore
The QWidget class is the base class of all user interface objects.
Definition qwidget.h:99
QOpenGLWidget * widget
[1]
else opt state
[0]
Combined button and popup list for selecting options.
Definition qcompare.h:63
Orientation
Definition qnamespace.h:98
GLuint64 GLenum void * handle
GLfloat GLfloat GLfloat w
[0]
GLuint index
[2]
GLenum GLenum GLsizei count
struct _cl_event * event
GLuint GLsizei const GLuint const GLintptr const GLsizeiptr * sizes
GLfloat GLfloat p
[1]
static qreal position(const QQuickItem *item, QQuickAnchors::Anchor anchorLine)
#define QT_REQUIRE_CONFIG(feature)
#define Q_PROPERTY(...)
#define Q_OBJECT
#define Q_SIGNALS
#define explicit
QList< int > list
[14]
list indexOf("B")
gridLayout addWidget(nameLabel, 0, 0)