QAbstractSlider Class
Die Klasse QAbstractSlider liefert einen Integer-Wert innerhalb eines Bereichs. Mehr...
Kopfzeile: | #include <QAbstractSlider> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
qmake: | QT += widgets |
Vererbt: | QWidget |
Vererbt von: | QDial, QScrollBar, und 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) |
Reimplementierte 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 |
Detaillierte Beschreibung
Die Klasse ist als gemeinsame Superklasse für Widgets wie QScrollBar, QSlider und QDial konzipiert.
Hier sind die wichtigsten Eigenschaften der Klasse:
- value: Die begrenzte Ganzzahl, die QAbstractSlider verwaltet.
- minimum: Der kleinstmögliche Wert.
- maximum: Der höchstmögliche Wert.
- singleStep: Der kleinere von zwei natürlichen Schritten, den ein abstrakter Schieberegler bietet und der normalerweise dem Drücken einer Pfeiltaste durch den Benutzer entspricht.
- pageStep: Der größere von zwei natürlichen Schritten, die ein abstrakter Schieberegler bietet, und entspricht in der Regel dem Drücken von PageUp oder PageDown durch den Benutzer.
- tracking: Ob die Schiebereglerverfolgung aktiviert ist.
- sliderPosition: Die aktuelle Position des Schiebereglers. Wenn tracking aktiviert ist (die Voreinstellung), ist dies identisch mit value.
Die Einheit (1) kann als dritte Schrittgröße betrachtet werden. setValue() erlaubt es, den aktuellen Wert auf eine beliebige ganze Zahl im erlaubten Bereich zu setzen, nicht nur minimum() + n * singleStep() für ganzzahlige Werte von n. Einige Widgets erlauben es dem Benutzer, überhaupt einen Wert zu setzen; andere bieten nur Vielfache von singleStep() oder pageStep().
QAbstractSlider gibt einen umfassenden Satz von Signalen aus:
Signal | Wird ausgegeben wenn |
---|---|
valueChanged() | sich der Wert geändert hat. Die tracking bestimmt, ob dieses Signal während der Benutzerinteraktion ausgesendet 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() | der Bereich hat sich geändert. |
QAbstractSlider bietet eine virtuelle Funktion sliderChange(), die sich gut für die Aktualisierung der Bildschirmdarstellung von Schiebereglern eignet. Durch den Aufruf von triggerAction() lösen Unterklassen Slider-Aktionen aus. Zwei Hilfsfunktionen QStyle::sliderPositionFromValue() und QStyle::sliderValueFromPosition() helfen Unterklassen und Stilen dabei, Bildschirmkoordinaten auf logische Wertebereiche abzubilden.
Siehe auch QAbstractSpinBox, QSlider, QDial, QScrollBar, und Sliders Example.
Dokumentation der Mitgliedstypen
enum QAbstractSlider::SliderAction
Konstante | Wert |
---|---|
QAbstractSlider::SliderNoAction | 0 |
QAbstractSlider::SliderSingleStepAdd | 1 |
QAbstractSlider::SliderSingleStepSub | 2 |
QAbstractSlider::SliderPageStepAdd | 3 |
QAbstractSlider::SliderPageStepSub | 4 |
QAbstractSlider::SliderToMinimum | 5 |
QAbstractSlider::SliderToMaximum | 6 |
QAbstractSlider::SliderMove | 7 |
enum QAbstractSlider::SliderChange
Konstante | Wert |
---|---|
QAbstractSlider::SliderRangeChange | 0 |
QAbstractSlider::SliderOrientationChange | 1 |
QAbstractSlider::SliderStepsChange | 2 |
QAbstractSlider::SliderValueChange | 3 |
Eigenschaft Dokumentation
invertedAppearance : bool
Diese Eigenschaft legt fest, ob ein Schieberegler seine Werte invertiert anzeigt oder nicht.
Wenn diese Eigenschaft false
lautet (Standardeinstellung), werden das Minimum und das Maximum in ihrer klassischen Position für das geerbte Widget angezeigt. Wenn der Wert true ist, erscheinen Minimum und Maximum an der entgegengesetzten Position.
Hinweis: Diese Eigenschaft ist am sinnvollsten für Schieberegler und Drehknöpfe. Bei Bildlaufleisten hängt der visuelle Effekt der Bildlaufleisten-Untersteuerelemente davon ab, ob die Stile das invertierte Erscheinungsbild verstehen oder nicht; die meisten Stile ignorieren diese Eigenschaft für Bildlaufleisten.
Zugriffsfunktionen:
bool | invertedAppearance() const |
void | setInvertedAppearance(bool) |
invertedControls : bool
Diese Eigenschaft legt fest, ob der Schieberegler seine Rad- und Tastenereignisse invertiert oder nicht.
Wenn diese Eigenschaft false
ist, wird der Wert des Schiebereglers durch Scrollen mit dem Mausrad nach oben und durch Drücken von Tasten wie "Seite nach oben" in Richtung seines Maximums erhöht. Andernfalls wird durch Drücken der Taste "Seite nach oben" der Wert des Schiebereglers in Richtung seines Minimums verschoben.
Zugriffsfunktionen:
bool | invertedControls() const |
void | setInvertedControls(bool) |
maximum : int
Diese Eigenschaft enthält den Maximalwert des Schiebereglers
Beim Einstellen dieser Eigenschaft wird minimum gegebenenfalls angepasst, um sicherzustellen, dass der Bereich gültig bleibt. Auch der aktuelle Wert des Schiebereglers wird so angepasst, dass er innerhalb des neuen Bereichs liegt.
Zugriffsfunktionen:
int | maximum() const |
void | setMaximum(int) |
minimum : int
Diese Eigenschaft enthält den Mindestwert des Schiebereglers.
Beim Einstellen dieser Eigenschaft wird maximum bei Bedarf angepasst, um sicherzustellen, dass der Bereich gültig bleibt. Auch der aktuelle Wert des Schiebereglers wird so angepasst, dass er innerhalb des neuen Bereichs liegt.
Zugriffsfunktionen:
int | minimum() const |
void | setMinimum(int) |
orientation : Qt::Orientation
Diese Eigenschaft enthält die Ausrichtung des Schiebereglers
Die Ausrichtung muss Qt::Vertical (der Standard) oder Qt::Horizontal sein.
Zugriffsfunktionen:
Qt::Orientation | orientation() const |
void | setOrientation(Qt::Orientation) |
pageStep : int
Diese Eigenschaft enthält den Seitenschritt.
Der größere von zwei natürlichen Schritten, die ein abstrakter Schieberegler bietet, entspricht in der Regel dem Drücken von PageUp oder PageDown durch den Benutzer.
Zugriffsfunktionen:
int | pageStep() const |
void | setPageStep(int) |
Siehe auch singleStep.
singleStep : int
Diese Eigenschaft enthält den Einzelschritt.
Der kleinere von zwei natürlichen Schritten, die ein abstrakter Schieberegler bietet, und entspricht normalerweise dem Drücken einer Pfeiltaste durch den Benutzer.
Wenn die Eigenschaft während eines automatisch wiederholenden Tastenereignisses geändert wird, ist das Verhalten undefiniert.
Zugriffsfunktionen:
int | singleStep() const |
void | setSingleStep(int) |
Siehe auch pageStep.
sliderDown : bool
Diese Eigenschaft gibt an, ob der Schieberegler nach unten gedrückt ist.
Die Eigenschaft wird von Unterklassen gesetzt, um dem abstrakten Schieberegler mitzuteilen, ob tracking eine Wirkung hat oder nicht.
Das Ändern der Eigenschaft "Slider nach unten" 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), ist dies identisch mit value.
Zugriffsfunktionen:
int | sliderPosition() const |
void | setSliderPosition(int) |
Benachrichtigungssignal:
void | sliderMoved(int value) |
tracking : bool
Diese Eigenschaft gibt an, ob die Schiebereglerverfolgung aktiviert ist
Wenn die Verfolgung aktiviert ist (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 erzwingt, dass der Wert innerhalb des zulässigen Bereichs liegt: minimum <= value
<= maximum.
Eine Änderung des Wertes ändert auch die sliderPosition.
Zugriffsfunktionen:
int | value() const |
void | setValue(int) |
Benachrichtigungssignal:
void | valueChanged(int value) |
Dokumentation der Mitgliedsfunktionen
[explicit]
QAbstractSlider::QAbstractSlider(QWidget *parent = nullptr)
Konstruiert einen abstrakten Schieberegler.
Das Argument parent wird an den Konstruktor QWidget gesendet.
Der Standardwert für minimum ist 0, für maximum 99, mit einer singleStep Größe von 1 und einer pageStep Größe von 10 und einer anfänglichen value von 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. Aktionen sind SliderSingleStepAdd, SliderSingleStepSub, SliderPageStepAdd, SliderPageStepSub, SliderToMinimum, SliderToMaximum, und SliderMove.
Wenn das Signal ausgegeben wird, wurde sliderPosition entsprechend der Aktion angepasst, aber value wurde noch nicht propagiert (d. h. das Signal valueChanged() wurde noch nicht ausgegeben), und die visuelle Anzeige 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)
Reimplements: QWidget::changeEvent(QEvent *Event).
[override virtual protected]
bool QAbstractSlider::event(QEvent *e)
Reimplements: QWidget::event(QEvent *Event).
[override virtual protected]
void QAbstractSlider::keyPressEvent(QKeyEvent *ev)
Reimplements: QWidget::keyPressEvent(QKeyEvent *event).
[signal]
void QAbstractSlider::rangeChanged(int min, int max)
Dieses Signal wird ausgegeben, wenn sich der Bereich des Schiebereglers 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 aktuelle Wiederholungsaktion zurück.
Siehe auch setRepeatAction().
[slot]
void QAbstractSlider::setRange(int min, int max)
Setzt das Minimum des Schiebereglers auf min und das Maximum auf max.
Wenn max kleiner als min ist, ist min der einzig zulässige Wert.
Siehe auch minimum und maximum.
[protected]
void QAbstractSlider::setRepeatAction(QAbstractSlider::SliderAction action, int thresholdTime = 500, int repeatTime = 50)
Stellt die Aktion action so ein, dass sie nach einer anfänglichen Verzögerung von thresholdTime in Intervallen von repeatTime wiederholt ausgelöst wird.
Siehe auch triggerAction() und repeatAction().
[virtual protected]
void QAbstractSlider::sliderChange(QAbstractSlider::SliderChange change)
Implementieren Sie diese virtuelle Funktion neu, um Schieberegleränderungen wie SliderRangeChange, SliderOrientationChange, SliderStepsChange oder SliderValueChange zu verfolgen. Die Standardimplementierung aktualisiert nur die Anzeige und ignoriert den Parameter change.
[signal]
void QAbstractSlider::sliderMoved(int value)
Dieses Signal wird ausgesendet, wenn sliderDown wahr ist und der Schieberegler sich bewegt. Dies geschieht normalerweise, wenn der Benutzer den Schieberegler verschiebt. Die value ist die neue Position des Schiebereglers.
Dieses Signal wird auch ausgegeben, wenn das Tracking ausgeschaltet ist.
Hinweis: Benachrichtigungssignal für die Eigenschaft sliderPosition.
Siehe auch setTracking(), valueChanged(), isSliderDown(), sliderPressed(), und sliderReleased().
[signal]
void QAbstractSlider::sliderPressed()
Dieses Signal wird ausgegeben, wenn der Benutzer den Schieberegler mit der Maus drückt, oder programmatisch, wenn setSliderDown(true) aufgerufen wird.
Siehe auch sliderReleased(), sliderMoved(), und isSliderDown().
[signal]
void QAbstractSlider::sliderReleased()
Dieses Signal wird ausgegeben, wenn der Benutzer den Schieberegler mit der Maus loslässt, oder programmatisch, wenn setSliderDown(false) aufgerufen wird.
Siehe auch sliderPressed(), sliderMoved(), und sliderDown.
[override virtual protected]
void QAbstractSlider::timerEvent(QTimerEvent *e)
Reimplements: QObject::timerEvent(QTimerEvent *event).
void QAbstractSlider::triggerAction(QAbstractSlider::SliderAction action)
Löst einen Schieberegler action aus. Mögliche Aktionen sind SliderSingleStepAdd, SliderSingleStepSub, SliderPageStepAdd, SliderPageStepSub, SliderToMinimum, SliderToMaximum, und SliderMove.
Siehe auch actionTriggered().
[signal]
void QAbstractSlider::valueChanged(int value)
Dieses Signal wird ausgesendet, wenn sich der Schiebereglerwert geändert hat, mit dem neuen Schieberegler value als Argument.
Hinweis: Benachrichtigungssignal für die Eigenschaft value.
[override virtual protected]
void QAbstractSlider::wheelEvent(QWheelEvent *e)
Reimplements: QWidget::wheelEvent(QWheelEvent *event).
© 2025 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.