QSlider Class
Das QSlider-Widget bietet einen vertikalen oder horizontalen Schieberegler. Mehr...
| Kopfzeile: | #include <QSlider> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake: | QT += widgets |
| Erbt von: | QAbstractSlider |
Öffentliche Typen
| enum | TickPosition { NoTicks, TicksBothSides, TicksAbove, TicksBelow, TicksLeft, TicksRight } |
Eigenschaften
- tickInterval : int
- tickPosition : TickPosition
Öffentliche Funktionen
| QSlider(QWidget *parent = nullptr) | |
| QSlider(Qt::Orientation orientation, QWidget *parent = nullptr) | |
| virtual | ~QSlider() |
| void | setTickInterval(int ti) |
| void | setTickPosition(QSlider::TickPosition position) |
| int | tickInterval() const |
| QSlider::TickPosition | tickPosition() const |
Neu implementierte öffentliche Funktionen
| virtual bool | event(QEvent *event) override |
| virtual QSize | minimumSizeHint() const override |
| virtual QSize | sizeHint() const override |
Geschützte Funktionen
| virtual void | initStyleOption(QStyleOptionSlider *option) const |
Neu implementierte geschützte Funktionen
| virtual void | mouseMoveEvent(QMouseEvent *ev) override |
| virtual void | mousePressEvent(QMouseEvent *ev) override |
| virtual void | mouseReleaseEvent(QMouseEvent *ev) override |
| virtual void | paintEvent(QPaintEvent *ev) override |
Ausführliche Beschreibung

Der Schieberegler ist das klassische Widget zur Steuerung eines begrenzten Werts. Er ermöglicht es dem Benutzer, einen Schieberegler-Griff entlang einer horizontalen oder vertikalen Nut zu bewegen, und wandelt die Position des Griffs in einen ganzzahligen Wert innerhalb des zulässigen Bereichs um.
QSlider verfügt über nur sehr wenige eigene Funktionen; der Großteil der Funktionalität befindet sich in „ QAbstractSlider “. Die nützlichsten Funktionen sind „ setValue()“, um den Schieberegler direkt auf einen bestimmten Wert zu setzen; „ triggerAction()“, um die Auswirkungen eines Klicks zu simulieren (nützlich für Tastenkombinationen); „ setSingleStep(), setPageStep() zum Festlegen der Schritte sowie setMinimum() und setMaximum() zum Definieren des Bereichs der Bildlaufleiste.
QSlider bietet Methoden zur Steuerung der Skalenstriche. Mit „ setTickPosition()“ können Sie angeben, wo die Skalenstriche platziert werden sollen, und mit „ setTickInterval()“, wie viele davon vorhanden sein sollen. Die aktuell eingestellte Skalenstrichposition und das Intervall können mit den Funktionen „ tickPosition()“ bzw. „ tickInterval()“ abgefragt werden.
QSlider verfügt über einen umfassenden Satz an Signalen:
| Signal | Beschreibung |
|---|---|
| valueChanged() | Wird ausgelöst, wenn sich der Wert des Schiebereglers geändert hat. Die Funktion `tracking()` bestimmt, ob dieses Signal während der Benutzerinteraktion ausgelöst wird. |
| sliderPressed() | Wird ausgelöst, wenn der Benutzer beginnt, den Schieberegler zu ziehen. |
| sliderMoved() | Wird ausgelöst, wenn der Benutzer den Schieberegler zieht. |
| sliderReleased() | Wird ausgelöst, wenn der Benutzer den Schieberegler loslässt. |
QSlider bietet nur ganzzahlige Bereiche an. Beachten Sie, dass QSlider zwar sehr große Zahlen verarbeiten kann, es für Benutzer jedoch schwierig wird, einen Schieberegler bei sehr großen Bereichen präzise zu bedienen.
Ein Schieberegler erhält den Fokus bei der Tabulatortaste und bietet sowohl eine Mausrad- als auch eine Tastatursteuerung. Die Tastatursteuerung funktioniert wie folgt:
- Links/Rechts verschieben einen horizontalen Schieberegler um einen einzelnen Schritt.
- „Auf“/„Ab“ verschieben einen vertikalen Schieberegler um einen einzelnen Schritt.
- „Bild auf“ bewegt eine Seite nach oben.
- „Bild nach unten“ bewegt eine Seite nach unten.
- „Home“ springt zum Anfang (Minimum).
- „End“ springt zum Ende (Maximum).
Siehe auch „ QScrollBar“ , „ QSpinBox “, „ QDial “ und das Beispiel zu Schiebereglern.
Dokumentation zu Mitgliedstypen
enum QSlider::TickPosition
Diese Enumeration legt fest, wo die Skalenmarkierungen relativ zur Rille des Schiebereglers und zum Schiebeknopf, den der Benutzer bewegt, eingezeichnet werden sollen.
| Konstante | Wert | Beschreibung |
|---|---|---|
QSlider::NoTicks | 0 | Es werden keine Skalenstriche gezeichnet. |
QSlider::TicksBothSides | 3 | Zeichnet Skalenmarkierungen auf beiden Seiten der Nut. |
QSlider::TicksAbove | 1 | Zeichnen Sie Skalenstriche oberhalb des (horizontalen) Schiebereglers |
QSlider::TicksBelow | 2 | Zeichnen Sie Markierungen unterhalb des (horizontalen) Schiebereglers |
QSlider::TicksLeft | TicksAbove | Zeichnen Sie Markierungen links vom (vertikalen) Schieberegler |
QSlider::TicksRight | TicksBelow | Zeichnen Sie Markierungen rechts vom (vertikalen) Schieberegler |
Eigenschaftsdokumentation
tickInterval : int
Diese Eigenschaft legt das Intervall zwischen den Markierungen fest
Es handelt sich hierbei um ein Werteintervall, nicht um ein Pixelintervall. Wenn der Wert „ 0 “ lautet, wählt der Schieberegler zwischen „singleStep“ und „pageStep“.
Der Standardwert ist „ 0 “. Negative Werte sind ungültig und werden daher auf „ 0 “ begrenzt.
Zugriffsfunktionen:
| int | tickInterval() const |
| void | setTickInterval(int ti) |
Siehe auch „ tickPosition “, „ singleStep “ und „ pageStep “.
tickPosition : TickPosition
Diese Eigenschaft enthält die Position der Markierung für diesen Schieberegler
Die zulässigen Werte werden durch die Enumeration „ QSlider::TickPosition “ beschrieben.
Der Standardwert ist „ QSlider::NoTicks “.
Zugriffsfunktionen:
| QSlider::TickPosition | tickPosition() const |
| void | setTickPosition(QSlider::TickPosition position) |
Siehe auch „ tickInterval “.
Dokumentation der Mitgliedsfunktionen
[explicit] QSlider::QSlider(QWidget *parent = nullptr)
Erstellt einen vertikalen Schieberegler mit dem angegebenen „ parent “.
[explicit] QSlider::QSlider(Qt::Orientation orientation, QWidget *parent = nullptr)
Erstellt einen Schieberegler mit dem angegebenen Parameter „ parent “. Der Parameter „ orientation “ legt fest, ob der Schieberegler horizontal oder vertikal ausgerichtet ist; gültige Werte sind „ Qt::Vertical “ und „ Qt::Horizontal “.
[virtual noexcept] QSlider::~QSlider()
Löscht diesen Schieberegler.
[override virtual] bool QSlider::event(QEvent *event)
Implementiert: ` QAbstractSlider::event(QEvent *e)`.
[virtual protected] void QSlider::initStyleOption(QStyleOptionSlider *option) const
Initialisieren Sie ` option ` mit den Werten aus dieser Datei: QSlider. Diese Methode ist für Unterklassen nützlich, wenn diese ein ` QStyleOptionSlider` benötigen, aber nicht alle Informationen selbst eingeben möchten.
Siehe auch ` QStyleOption::initFrom()`.
[override virtual] QSize QSlider::minimumSizeHint() const
Implementiert eine Zugriffsfunktion für die Eigenschaft „ QWidget::minimumSizeHint “ neu.
[override virtual protected] void QSlider::mouseMoveEvent(QMouseEvent *ev)
Implementiert: ` QWidget::mouseMoveEvent(QMouseEvent *event)`.
[override virtual protected] void QSlider::mousePressEvent(QMouseEvent *ev)
Implementiert: ` QWidget::mousePressEvent` (`QMouseEvent *event`).
[override virtual protected] void QSlider::mouseReleaseEvent(QMouseEvent *ev)
Implementiert: ` QWidget::mouseReleaseEvent` (`QMouseEvent *event`).
[override virtual protected] void QSlider::paintEvent(QPaintEvent *ev)
Implementiert: QWidget::paintEvent(QPaintEvent *event).
[override virtual] QSize QSlider::sizeHint() const
Implementiert eine Zugriffsfunktion für die Eigenschaft „ QWidget::sizeHint “ neu.
© 2026 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.