QDial Class
Die QDial-Klasse bietet eine abgerundete Bereichskontrolle (wie ein Tachometer oder Potentiometer). Mehr...
Kopfzeile: | #include <QDial> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
qmake: | QT += widgets |
Vererbungen: | QAbstractSlider |
Eigenschaften
- notchSize : const int
- notchTarget : qreal
- notchesVisible : bool
- wrapping : bool
Öffentliche Funktionen
QDial(QWidget *parent = nullptr) | |
virtual | ~QDial() |
int | notchSize() const |
qreal | notchTarget() const |
bool | notchesVisible() const |
void | setNotchTarget(double target) |
bool | wrapping() const |
Reimplementierte öffentliche Funktionen
virtual QSize | minimumSizeHint() const override |
virtual QSize | sizeHint() const override |
Öffentliche Slots
void | setNotchesVisible(bool visible) |
void | setWrapping(bool on) |
Geschützte Funktionen
virtual void | initStyleOption(QStyleOptionSlider *option) const |
Reimplementierte geschützte Funktionen
virtual bool | event(QEvent *e) override |
virtual void | mouseMoveEvent(QMouseEvent *e) override |
virtual void | mousePressEvent(QMouseEvent *e) override |
virtual void | mouseReleaseEvent(QMouseEvent *e) override |
virtual void | paintEvent(QPaintEvent *pe) override |
virtual void | resizeEvent(QResizeEvent *e) override |
virtual void | sliderChange(QAbstractSlider::SliderChange change) override |
Detaillierte Beschreibung
QDial wird verwendet, wenn der Benutzer einen Wert innerhalb eines vom Programm definierbaren Bereichs steuern muss und der Bereich entweder umlaufend ist (z.B. bei Winkeln von 0 bis 359 Grad) oder das Dialoglayout ein quadratisches Widget benötigt.
Da QDial von QAbstractSlider erbt, verhält sich das Zifferblatt ähnlich wie slider. Wenn wrapping() falsch ist (die Standardeinstellung), gibt es keinen wirklichen Unterschied zwischen einem Schieberegler und einem Zifferblatt. Beide teilen sich die gleichen Signale, Slots und Memberfunktionen. Welche Sie verwenden, hängt von den Erwartungen Ihrer Benutzer und von der Art der Anwendung ab.
Der Schieberegler sendet anfangs kontinuierlich das Signal valueChanged() aus, während er bewegt wird; Sie können das Signal weniger oft ausgeben, indem Sie die Eigenschaft tracking deaktivieren. Das Signal sliderMoved() wird auch dann kontinuierlich ausgegeben, wenn die Nachführung deaktiviert ist.
Der Schieberegler sendet auch die Signale sliderPressed() und sliderReleased() aus, wenn die Maustaste gedrückt und losgelassen wird. Beachten Sie, dass sich der Wert der Skala ändern kann, ohne dass diese Signale ausgegeben werden, da der Wert auch über die Tastatur und das Rad geändert werden kann.
Im Gegensatz zum Schieberegler versucht QDial, eine "schöne" Anzahl von Kerben zu zeichnen und nicht nur eine pro Zeilenschritt. Wenn es möglich ist, wird eine Kerbe pro Linienschritt gezeichnet, aber wenn nicht genug Pixel vorhanden sind, um alle Kerben zu zeichnen, überspringt QDial die Kerben und versucht, eine gleichmäßige Menge zu zeichnen (z.B. indem es jede zweite oder dritte Kerbe zeichnet).
Wie der Schieberegler stellt auch das Zifferblatt die Funktion QAbstractSlider setValue () als Slot zur Verfügung.
Die Tastaturschnittstelle des Zifferblatts ist recht einfach: Mit den Pfeiltasten left/up und right/down wird value um die definierten singleStep, Page Up und Page Down um die definierten pageStep, und mit den Tasten Home und End auf die definierten minimum und maximum Werte eingestellt.
Wenn Sie das Mausrad zum Verstellen des Drehknopfes verwenden, wird der Inkrementwert durch den kleineren Wert von wheelScrollLines multipliziert mit singleStep und pageStep bestimmt.
Siehe auch QScrollBar, QSpinBox, QSlider, und Schieberegler Beispiel.
Dokumentation der Eigenschaft
[read-only]
notchSize : const int
Diese Eigenschaft enthält die aktuelle Notch-Größe
Die Größe der Aussparung wird in Bereichssteuerungseinheiten und nicht in Pixeln angegeben. Sie wird so berechnet, dass sie ein Vielfaches von singleStep() ist, was zu einer Größe der Aussparung auf dem Bildschirm nahe notchTarget() führt.
Zugriffsfunktionen:
int | notchSize() const |
Siehe auch notchTarget() und singleStep().
notchTarget : qreal
Diese Eigenschaft enthält die Zielanzahl der Pixel zwischen den Kerben
Die Zielgröße der Kerben ist die Anzahl der Pixel, die QDial zwischen den einzelnen Kerben zu platzieren versucht.
Die tatsächliche Größe kann von der Zielgröße abweichen.
Der Standardwert für die Kerben beträgt 3,7 Pixel.
Zugriffsfunktionen:
qreal | notchTarget() const |
void | setNotchTarget(double target) |
notchesVisible : bool
Diese Eigenschaft legt fest, ob die Kerben angezeigt werden
Wenn die Eigenschaft true
lautet, wird eine Reihe von Kerben um das Zifferblatt herum gezeichnet, um den Bereich der verfügbaren Werte anzuzeigen; andernfalls werden keine Kerben angezeigt.
In der Standardeinstellung ist diese Eigenschaft deaktiviert.
Zugriffsfunktionen:
bool | notchesVisible() const |
void | setNotchesVisible(bool visible) |
wrapping : bool
Diese Eigenschaft gibt an, ob der Umbruch aktiviert ist
Wenn true, ist der Umbruch aktiviert; andernfalls wird am unteren Rand des Zifferblatts ein Leerzeichen eingefügt, um die Enden des gültigen Wertebereichs voneinander zu trennen.
Wenn diese Eigenschaft aktiviert ist, kann der Pfeil in jedem beliebigen Winkel auf der Skala ausgerichtet werden. Wenn er deaktiviert ist, ist der Pfeil auf den oberen Teil des Zifferblatts beschränkt; wenn er in den Zwischenraum am unteren Ende des Zifferblatts gedreht wird, wird er an das nächstgelegene Ende des gültigen Wertebereichs geklemmt.
Standardmäßig ist diese Eigenschaft auf false
eingestellt.
Zugriffsfunktionen:
bool | wrapping() const |
void | setWrapping(bool on) |
Dokumentation der Mitgliedsfunktionen
[explicit]
QDial::QDial(QWidget *parent = nullptr)
Konstruiert ein Zifferblatt.
Das Argument parent wird an den Konstruktor QAbstractSlider gesendet.
[virtual noexcept]
QDial::~QDial()
Zerstört das Zifferblatt.
[override virtual protected]
bool QDial::event(QEvent *e)
Reimplements: QAbstractSlider::event(QEvent *e).
[virtual protected]
void QDial::initStyleOption(QStyleOptionSlider *option) const
Initialisieren Sie option mit den Werten aus dieser QDial. Diese Methode ist nützlich für Unterklassen, wenn sie eine QStyleOptionSlider benötigen, aber nicht alle Informationen selbst eingeben wollen.
Siehe auch QStyleOption::initFrom().
[override virtual]
QSize QDial::minimumSizeHint() const
Reimplantiert eine Zugriffsfunktion für die Eigenschaft: QWidget::minimumSizeHint.
[override virtual protected]
void QDial::mouseMoveEvent(QMouseEvent *e)
Reimplements: QWidget::mouseMoveEvent(QMouseEvent *event).
[override virtual protected]
void QDial::mousePressEvent(QMouseEvent *e)
Reimplements: QWidget::mousePressEvent(QMouseEvent *event).
[override virtual protected]
void QDial::mouseReleaseEvent(QMouseEvent *e)
Reimplements: QWidget::mouseReleaseEvent(QMouseEvent *event).
[override virtual protected]
void QDial::paintEvent(QPaintEvent *pe)
Reimplements: QWidget::paintEvent(QPaintEvent *event).
[override virtual protected]
void QDial::resizeEvent(QResizeEvent *e)
Reimplements: QWidget::resizeEvent(QResizeEvent *event).
[override virtual]
QSize QDial::sizeHint() const
Reimplantiert eine Zugriffsfunktion für die Eigenschaft: QWidget::sizeHint.
[override virtual protected]
void QDial::sliderChange(QAbstractSlider::SliderChange change)
Reimplements: QAbstractSlider::sliderChange(QAbstractSlider::SliderChange change).
© 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.