Auf dieser Seite

QAbstractSlider Class

Die Klasse „QAbstractSlider“ liefert einen ganzzahligen Wert innerhalb eines Bereichs. Mehr...

Header: #include <QAbstractSlider>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
Erbt von: QWidget
Vererbt an:

QDial, „ QScrollBar “ sowie QSlider

Öffentliche Typen

enum SliderAction { SliderNoAction, SliderSingleStepAdd, SliderSingleStepSub, SliderPageStepAdd, SliderPageStepSub, …, SliderMove }

Eigenschaften

Öffentliche Funktionen

QAbstractSlider(QWidget *parent = nullptr)
virtual ~QAbstractSlider()
bool hasTracking() const
bool invertedAppearance() const
bool invertedControls() const
bool isSliderDown() const
int maximum() const
int minimum() const
Qt::Orientation orientation() const
int pageStep() const
void setInvertedAppearance(bool)
void setInvertedControls(bool)
void setMaximum(int)
void setMinimum(int)
void setPageStep(int)
void setSingleStep(int)
void setSliderDown(bool)
void setSliderPosition(int)
void setTracking(bool enable)
int singleStep() const
int sliderPosition() const
void triggerAction(QAbstractSlider::SliderAction action)
int value() const

Öffentliche Slots

void setOrientation(Qt::Orientation)
void setRange(int min, int max)
void setValue(int)

Signale

void actionTriggered(int action)
void rangeChanged(int min, int max)
void sliderMoved(int value)
void sliderPressed()
void sliderReleased()
void valueChanged(int value)

Geschützte Typen

enum SliderChange { SliderRangeChange, SliderOrientationChange, SliderStepsChange, SliderValueChange }

Geschützte Funktionen

QAbstractSlider::SliderAction repeatAction() const
void setRepeatAction(QAbstractSlider::SliderAction action, int thresholdTime = 500, int repeatTime = 50)
virtual void sliderChange(QAbstractSlider::SliderChange change)

Neu implementierte geschützte Funktionen

virtual void changeEvent(QEvent *ev) override
virtual bool event(QEvent *e) override
virtual void keyPressEvent(QKeyEvent *ev) override
virtual void timerEvent(QTimerEvent *e) override
virtual void wheelEvent(QWheelEvent *e) override

Ausführliche Beschreibung

Die Klasse ist als gemeinsame Oberklasse für Widgets wie QScrollBar, QSlider und QDial konzipiert.

Hier sind die wichtigsten Eigenschaften der Klasse:

  1. value: Die begrenzte Ganzzahl, die von `QAbstractSlider` verwaltet wird.
  2. minimum: Der kleinstmögliche Wert.
  3. maximum: Der höchstmögliche Wert.
  4. singleStep: Der kleinere von zwei natürlichen Schritten, die ein abstrakter Schieberegler bereitstellt, und der typischerweise dem Drücken einer Pfeiltaste durch den Benutzer entspricht.
  5. pageStep: Der größere der beiden natürlichen Schritte, die ein abstrakter Schieberegler bereitstellt und der typischerweise dem Drücken der Tasten „Bild auf“ oder „Bild ab“ durch den Benutzer entspricht.
  6. tracking: Gibt an, ob die Slider-Verfolgung aktiviert ist.
  7. sliderPosition: Die aktuelle Position des Schiebereglers. Wenn „ tracking “ aktiviert ist (Standardeinstellung), entspricht dies „ value “.

„Unity“ (1) kann als dritte Schrittgröße betrachtet werden. Mit „ setValue “ () können Sie den aktuellen Wert auf eine beliebige ganze Zahl im zulässigen Bereich setzen, nicht nur auf „ minimum “ () + n * „ singleStep “ () für ganzzahlige Werte von n. Bei einigen Widgets kann der Benutzer möglicherweise einen beliebigen Wert festlegen; andere bieten möglicherweise nur Vielfache von „ singleStep “ () oder „ pageStep “ () an.

QAbstractSlider sendet eine umfassende Reihe von Signalen aus:

SignalAusgelöst, wenn
valueChanged()sich der Wert geändert hat. Die Eigenschaft „ tracking “ bestimmt, ob dieses Signal während der Benutzerinteraktion ausgelöst wird.
sliderPressed()der Benutzer beginnt, den Schieberegler zu ziehen.
sliderMoved()Der Benutzer zieht den Schieberegler.
sliderReleased()Der Benutzer lässt den Schieberegler los.
actionTriggered()Eine Schieberegler-Aktion wurde ausgelöst.
rangeChanged()a Der Bereich hat sich geändert.

QAbstractSlider stellt eine virtuelle Funktion „ sliderChange()“ bereit, die sich gut zur Aktualisierung der Bildschirmdarstellung von Schiebereglern eignet. Durch den Aufruf von „ triggerAction()“ lösen Unterklassen Schieberegler-Aktionen aus. Zwei Hilfsfunktionen, „ QStyle::sliderPositionFromValue()“ und „ QStyle::sliderValueFromPosition()“, helfen Unterklassen und Stilen dabei, Bildschirmkoordinaten logischen Bereichswerten zuzuordnen.

Siehe auch „ QAbstractSpinBox“ , „ QSlider “, „ QDial “, „ QScrollBar “ und das Beispiel zu Schiebereglern.

Dokumentation zu Mitgliedstypen

enum QAbstractSlider::SliderAction

KonstanteWert
QAbstractSlider::SliderNoAction0
QAbstractSlider::SliderSingleStepAdd1
QAbstractSlider::SliderSingleStepSub2
QAbstractSlider::SliderPageStepAdd3
QAbstractSlider::SliderPageStepSub4
QAbstractSlider::SliderToMinimum5
QAbstractSlider::SliderToMaximum6
QAbstractSlider::SliderMove7

enum QAbstractSlider::SliderChange

KonstanteWert
QAbstractSlider::SliderRangeChange0
QAbstractSlider::SliderOrientationChange1
QAbstractSlider::SliderStepsChange2
QAbstractSlider::SliderValueChange3

Dokumentation der Eigenschaft

invertedAppearance : bool

Diese Eigenschaft legt fest, ob ein Schieberegler seine Werte invertiert anzeigt oder nicht.

Wenn diese Eigenschaft auf „ false “ (Standard) gesetzt ist, werden der Mindest- und der Höchstwert an der klassischen Position des geerbten Steuerelements angezeigt. Ist der Wert „true“, erscheinen der Mindest- und der Höchstwert an der entgegengesetzten Position.

Hinweis: Diese Eigenschaft ist vor allem für Schieberegler und Drehregler sinnvoll. Bei Bildlaufleisten hängt der visuelle Effekt der Bildlaufleisten-Unterkontrollen davon ab, ob die Stile eine invertierte Darstellung unterstützen; die meisten Stile ignorieren diese Eigenschaft bei Bildlaufleisten.

Zugriffsfunktionen:

bool invertedAppearance() const
void setInvertedAppearance(bool)

invertedControls : bool

Diese Eigenschaft legt fest, ob der Schieberegler seine Mausrad- und Tastenereignisse umkehrt oder nicht.

Wenn diese Eigenschaft auf „ false “ gesetzt ist, erhöht das Scrollen des Mausrads nach „oben“ und die Verwendung von Tasten wie „Bild auf“ den Wert des Schiebereglers in Richtung seines Maximalwerts. Andernfalls wird durch Drücken der Taste „Bild auf“ der Wert in Richtung des Minimalwerts des Schiebereglers verschoben.

Zugriffsfunktionen:

bool invertedControls() const
void setInvertedControls(bool)

maximum : int

Diese Eigenschaft enthält den Maximalwert des Schiebereglers

Beim Festlegen dieser Eigenschaft wird der „ minimum “ bei Bedarf angepasst, um sicherzustellen, dass der Bereich gültig bleibt. Außerdem wird der aktuelle Wert des Schiebereglers so angepasst, dass er innerhalb des neuen Bereichs liegt.

Zugriffsfunktionen:

int maximum() const
void setMaximum(int)

minimum : int

Diese Eigenschaft legt den Mindestwert des Schiebereglers fest

Beim Festlegen dieser Eigenschaft wird der „ maximum “ bei Bedarf angepasst, um sicherzustellen, dass der Bereich gültig bleibt. Außerdem wird der aktuelle Wert des Schiebereglers so angepasst, dass er innerhalb des neuen Bereichs liegt.

Zugriffsfunktionen:

int minimum() const
void setMinimum(int)

orientation : Qt::Orientation

Diese Eigenschaft legt die Ausrichtung des Schiebereglers fest

Die Ausrichtung muss entweder „ Qt::Vertical “ (Standard) oder „ Qt::Horizontal “ lauten.

Zugriffsfunktionen:

Qt::Orientation orientation() const
void setOrientation(Qt::Orientation)

pageStep : int

Diese Eigenschaft enthält den Seitenschritt.

Der größere der beiden natürlichen Schritte, die ein abstrakter Schieberegler bereitstellt, und entspricht in der Regel dem Drücken der Tasten „Bild auf“ oder „Bild ab“ durch den Benutzer.

Zugriffsfunktionen:

int pageStep() const
void setPageStep(int)

Siehe auch „ singleStep “.

singleStep : int

Diese Eigenschaft enthält den einzelnen Schritt.

Der kleinere der beiden natürlichen Schritte, die ein abstrakter Schieberegler bereitstellt, und entspricht in der Regel dem Drücken einer Pfeiltaste durch den Benutzer.

Wird die Eigenschaft während eines sich automatisch wiederholenden Tastenereignisses geändert, ist das Verhalten undefiniert.

Zugriffsfunktionen:

int singleStep() const
void setSingleStep(int)

Siehe auch „ pageStep “.

sliderDown : bool

Diese Eigenschaft gibt an, ob der Schieberegler gedrückt ist.

Die Eigenschaft wird von Unterklassen festgelegt, um dem abstrakten Schieberegler mitzuteilen, ob „ tracking “ eine Wirkung hat oder nicht.

Eine Änderung der Eigenschaft „slider down“ löst die Signale „ sliderPressed()“ und „ sliderReleased()“ aus.

Zugriffsfunktionen:

bool isSliderDown() const
void setSliderDown(bool)

sliderPosition : int

Diese Eigenschaft enthält die aktuelle Position des Schiebereglers

Wenn „ tracking “ aktiviert ist (Standardeinstellung), entspricht dies „ value “.

Zugriffsfunktionen:

int sliderPosition() const
void setSliderPosition(int)

Benachrichtigungssignal:

void sliderMoved(int value)

tracking : bool

Diese Eigenschaft gibt an, ob das Tracking des Schiebereglers aktiviert ist

Ist die Verfolgung aktiviert (Standardeinstellung), sendet der Schieberegler das Signal „ valueChanged()“, während er gezogen wird. Ist die Verfolgung deaktiviert, sendet der Schieberegler das Signal „ valueChanged()“ nur, wenn der Benutzer den Schieberegler loslässt.

Zugriffsfunktionen:

bool hasTracking() const
void setTracking(bool enable)

Siehe auch „ sliderDown “.

value : int

Diese Eigenschaft enthält den aktuellen Wert des Schiebereglers

Der Schieberegler sorgt dafür, dass der Wert innerhalb des zulässigen Bereichs liegt: minimum <= value <= maximum.

Durch Ändern des Werts ändert sich auch der Wert von „ sliderPosition “.

Zugriffsfunktionen:

int value() const
void setValue(int)

Benachrichtigungssignal:

void valueChanged(int value)

Dokumentation der Member-Funktionen

[explicit] QAbstractSlider::QAbstractSlider(QWidget *parent = nullptr)

Erstellt einen abstrakten Schieberegler.

Das Argument „ parent “ wird an den Konstruktor „ QWidget “ übergeben.

Der Wert von „ minimum “ ist standardmäßig 0, der von „ maximum “ 99, die Größe von „ singleStep “ beträgt 1, die von „ pageStep “ 10 und der anfängliche Wert von „ value “ ist 0.

[virtual noexcept] QAbstractSlider::~QAbstractSlider()

Zerstört den Schieberegler.

[signal] void QAbstractSlider::actionTriggered(int action)

Dieses Signal wird ausgesendet, wenn die Schieberegler-Aktion „ action “ ausgelöst wird. Die Aktionen lauten: „ SliderSingleStepAdd “, „ SliderSingleStepSub “, „ SliderPageStepAdd “, „ SliderPageStepSub “, „ SliderToMinimum “, „ SliderToMaximum “ und „ SliderMove “.

Wenn das Signal ausgesendet wird, wurde der „ sliderPosition “ entsprechend der Aktion angepasst, aber der „ value “ wurde noch nicht weitergeleitet (was bedeutet, dass das Signal „ valueChanged()“ noch nicht ausgesendet wurde), und die visuelle Darstellung wurde noch nicht aktualisiert. In Slots, die mit diesem Signal verbunden sind, können Sie daher jede Aktion sicher anpassen, indem Sie „ setSliderPosition()“ selbst aufrufen, basierend sowohl auf der Aktion als auch auf dem Wert des Schiebereglers.

Siehe auch ` triggerAction()`.

[override virtual protected] void QAbstractSlider::changeEvent(QEvent *ev)

Umsetzt: ` QWidget::changeEvent(QEvent *event)`.

[override virtual protected] bool QAbstractSlider::event(QEvent *e)

Umsetzt: ` QWidget::event(QEvent *event)`.

[override virtual protected] void QAbstractSlider::keyPressEvent(QKeyEvent *ev)

Implementiert: ` QWidget::keyPressEvent` (QKeyEvent *event).

[signal] void QAbstractSlider::rangeChanged(int min, int max)

Dieses Signal wird ausgegeben, wenn sich der Schiebereglerbereich geändert hat, wobei min das neue Minimum und max das neue Maximum ist.

Siehe auch minimum und maximum.

[protected] QAbstractSlider::SliderAction QAbstractSlider::repeatAction() const

Gibt die aktuell wiederholte Aktion zurück.

Siehe auch „ setRepeatAction()“.

[slot] void QAbstractSlider::setRange(int min, int max)

Legt den Mindestwert des Schiebereglers auf min und den Höchstwert auf max fest.

Wenn max kleiner als min ist, wird min zum einzigen zulässigen Wert.

Siehe auch minimum und maximum.

[protected] void QAbstractSlider::setRepeatAction(QAbstractSlider::SliderAction action, int thresholdTime = 500, int repeatTime = 50)

Legt fest, dass die Aktion „ action “ in Intervallen von „ repeatTime “ wiederholt ausgelöst wird, nach einer anfänglichen Verzögerung von „ thresholdTime “.

Siehe auch triggerAction() und repeatAction().

[virtual protected] void QAbstractSlider::sliderChange(QAbstractSlider::SliderChange change)

Implementieren Sie diese virtuelle Funktion neu, um Änderungen am Schieberegler zu verfolgen, wie beispielsweise SliderRangeChange, SliderOrientationChange, SliderStepsChange oder SliderValueChange. Die Standardimplementierung aktualisiert lediglich die Anzeige und ignoriert den Parameter „ change “.

[signal] void QAbstractSlider::sliderMoved(int value)

Dieses Signal wird ausgelöst, wenn „ sliderDown “ auf „true“ gesetzt ist und der Schieberegler bewegt wird. Dies geschieht in der Regel, wenn der Benutzer den Schieberegler zieht. „ value “ gibt die neue Position des Schiebereglers an.

Dieses Signal wird auch dann ausgelöst, wenn die Nachverfolgung deaktiviert ist.

Hinweis: Notifier -Signal für die Eigenschaft „ sliderPosition “.

Siehe auch „ setTracking()“, „ valueChanged()“, „ isSliderDown()“, „ sliderPressed()“ und „ sliderReleased()“.

[signal] void QAbstractSlider::sliderPressed()

Dieses Signal wird ausgelöst, wenn der Benutzer mit der Maus auf den Schieberegler klickt oder programmgesteuert, wenn setSliderDown(true) aufgerufen wird.

Siehe auch sliderReleased(), sliderMoved() und isSliderDown().

[signal] void QAbstractSlider::sliderReleased()

Dieses Signal wird ausgelöst, wenn der Benutzer den Schieberegler mit der Maus loslässt oder programmgesteuert, wenn „ setSliderDown(false)“ aufgerufen wird.

Siehe auch „ sliderPressed()“, „ sliderMoved()“ und „ sliderDown “.

[override virtual protected] void QAbstractSlider::timerEvent(QTimerEvent *e)

Implementiert: ` QObject::timerEvent(QTimerEvent *event)`.

void QAbstractSlider::triggerAction(QAbstractSlider::SliderAction action)

Löst einen Schieberegler aus: action. Mögliche Aktionen sind: SliderSingleStepAdd, SliderSingleStepSub, SliderPageStepAdd, SliderPageStepSub, SliderToMinimum, SliderToMaximum und SliderMove.

Siehe auch actionTriggered().

[signal] void QAbstractSlider::valueChanged(int value)

Dieses Signal wird ausgelöst, wenn sich der Wert des Schiebereglers geändert hat, wobei die neue Schieberegler- value als Argument übergeben wird.

Hinweis: Notifier -Signal für die Eigenschaft „ value “.

[override virtual protected] void QAbstractSlider::wheelEvent(QWheelEvent *e)

Implementiert: ` QWidget::wheelEvent` (`QWheelEvent *event`).

© 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.