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:
- value: Die begrenzte Ganzzahl, die von `QAbstractSlider` verwaltet wird.
- minimum: Der kleinstmögliche Wert.
- maximum: Der höchstmögliche Wert.
- 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.
- 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.
- tracking: Gibt an, ob die Slider-Verfolgung aktiviert ist.
- 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:
| Signal | Ausgelö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
| 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 |
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.