QCheckBox Class

Das QCheckBox-Widget bietet ein Kontrollkästchen mit einer Textbeschriftung. Mehr...

Kopfzeile: #include <QCheckBox>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
Vererbungen: QAbstractButton

Eigenschaften

Öffentliche Funktionen

QCheckBox(QWidget *parent = nullptr)
QCheckBox(const QString &text, QWidget *parent = nullptr)
virtual ~QCheckBox()
Qt::CheckState checkState() const
bool isTristate() const
void setCheckState(Qt::CheckState state)
void setTristate(bool y = true)

Reimplementierte öffentliche Funktionen

virtual QSize minimumSizeHint() const override
virtual QSize sizeHint() const override

Signale

(since 6.7) void checkStateChanged(Qt::CheckState state)
(until 6.9) void stateChanged(int state)

Geschützte Funktionen

virtual void initStyleOption(QStyleOptionButton *option) const

Reimplementierte geschützte Funktionen

virtual void checkStateSet() override
virtual bool event(QEvent *e) override
virtual bool hitButton(const QPoint &pos) const override
virtual void mouseMoveEvent(QMouseEvent *e) override
virtual void nextCheckState() override
virtual void paintEvent(QPaintEvent *) override

Detaillierte Beschreibung

Eine QCheckBox ist eine Optionsschaltfläche, die ein- (checked) oder ausgeschaltet (unchecked) werden kann. Checkboxen werden typischerweise verwendet, um Funktionen in einer Anwendung darzustellen, die aktiviert oder deaktiviert werden können, ohne andere zu beeinflussen. Es können verschiedene Arten von Verhalten implementiert werden. Zum Beispiel kann eine QButtonGroup verwendet werden, um Ankreuzschaltflächen logisch zu gruppieren und so exklusive Ankreuzfelder zu ermöglichen. QButtonGroup bietet jedoch keine visuelle Darstellung.

Die folgende Abbildung veranschaulicht die Unterschiede zwischen exklusiven und nicht-exklusiven Kontrollkästchen.

Jedes Mal, wenn ein Kontrollkästchen aktiviert oder deaktiviert wird, sendet es das Signal checkStateChanged(). Verbinden Sie sich mit diesem Signal, wenn Sie jedes Mal, wenn das Kontrollkästchen seinen Zustand ändert, eine Aktion auslösen möchten. Sie können isChecked() verwenden, um abzufragen, ob ein Kontrollkästchen aktiviert ist oder nicht.

Zusätzlich zu den üblichen Zuständen "angekreuzt" und "nicht angekreuzt" bietet QCheckBox optional einen dritten Zustand, der "keine Änderung" anzeigt. Dies ist immer dann nützlich, wenn Sie dem Benutzer die Möglichkeit geben wollen, ein Kontrollkästchen weder zu aktivieren noch zu deaktivieren. Wenn Sie diesen dritten Zustand benötigen, aktivieren Sie ihn mit setTristate(), und verwenden Sie checkState(), um den aktuellen Umschaltzustand abzufragen.

Genau wie QPushButton zeigt ein Ankreuzfeld Text und optional ein kleines Symbol an. Das Symbol wird mit setIcon() gesetzt. Der Text kann im Konstruktor oder mit setText() gesetzt werden. Ein Tastenkürzel kann angegeben werden, indem dem gewünschten Zeichen ein kaufmännisches Und vorangestellt wird. Ein Beispiel:

QCheckBox *checkbox = new QCheckBox("C&ase sensitive", this);

In diesem Beispiel ist die Abkürzung Alt+A. Einzelheiten finden Sie in der Dokumentation QShortcut. Um ein echtes kaufmännisches Und anzuzeigen, verwenden Sie '&&'.

Siehe auch QAbstractButton und QRadioButton.

Dokumentation der Eigenschaft

tristate : bool

Diese Eigenschaft gibt an, ob das Kontrollkästchen ein dreistufiges Kontrollkästchen ist.

Der Standardwert ist false, d. h. das Ankreuzfeld hat nur zwei Zustände.

Zugriffsfunktionen:

bool isTristate() const
void setTristate(bool y = true)

Dokumentation der Mitgliedsfunktionen

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

Konstruiert ein Kontrollkästchen mit dem angegebenen parent, aber ohne Text.

parent wird an den QAbstractButton Konstruktor weitergegeben.

[explicit] QCheckBox::QCheckBox(const QString &text, QWidget *parent = nullptr)

Konstruiert ein Kontrollkästchen mit den angegebenen parent und text.

parent wird an den QAbstractButton Konstruktor weitergegeben.

[virtual noexcept] QCheckBox::~QCheckBox()

Zerstörer.

Qt::CheckState QCheckBox::checkState() const

Gibt den Aktivierungsstatus des Kontrollkästchens zurück. Wenn Sie keine Tristate-Unterstützung benötigen, können Sie auch QAbstractButton::isChecked() verwenden, das einen booleschen Wert zurückgibt.

Siehe auch setCheckState() und Qt::CheckState.

[signal, since 6.7] void QCheckBox::checkStateChanged(Qt::CheckState state)

Dieses Signal wird immer dann ausgegeben, wenn sich der Zustand des Kontrollkästchens ändert, d. h. wenn der Benutzer das Kontrollkästchen ankreuzt oder das Häkchen entfernt.

state enthält den neuen Wert der Checkbox Qt::CheckState.

Diese Funktion wurde in Qt 6.7 eingeführt.

[override virtual protected] void QCheckBox::checkStateSet()

Reimplements: QAbstractButton::checkStateSet().

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

Reimplements: QAbstractButton::event(QEvent *e).

[override virtual protected] bool QCheckBox::hitButton(const QPoint &pos) const

Reimplements: QAbstractButton::hitButton(const QPoint &pos) const.

[virtual protected] void QCheckBox::initStyleOption(QStyleOptionButton *option) const

Initialisiert option mit den Werten aus dieser QCheckBox. Diese Methode ist nützlich für Unterklassen, die eine QStyleOptionButton benötigen, aber nicht alle Informationen selbst ausfüllen wollen.

Siehe auch QStyleOption::initFrom().

[override virtual] QSize QCheckBox::minimumSizeHint() const

Reimplantiert eine Zugriffsfunktion für die Eigenschaft: QWidget::minimumSizeHint.

[override virtual protected] void QCheckBox::mouseMoveEvent(QMouseEvent *e)

Reimplements: QAbstractButton::mouseMoveEvent(QMouseEvent *e).

[override virtual protected] void QCheckBox::nextCheckState()

Reimplements: QAbstractButton::nextCheckState().

[override virtual protected] void QCheckBox::paintEvent(QPaintEvent *)

Reimplements: QAbstractButton::paintEvent(QPaintEvent *e).

void QCheckBox::setCheckState(Qt::CheckState state)

Setzt den Prüfstatus des Kontrollkästchens auf state. Wenn Sie keine Unterstützung für drei Zustände benötigen, können Sie auch QAbstractButton::setChecked() verwenden, das einen booleschen Wert annimmt.

Siehe auch checkState() und Qt::CheckState.

[override virtual] QSize QCheckBox::sizeHint() const

Reimplantiert eine Zugriffsfunktion für die Eigenschaft: QWidget::sizeHint.

[signal, until 6.9] void QCheckBox::stateChanged(int state)

Diese Funktion soll in Version 6.9 veraltet sein.

Verwenden Sie stattdessen checkStateChanged(Qt::CheckState).

Dieses Signal wird immer dann ausgegeben, wenn sich der Zustand des Kontrollkästchens ändert, d.h. wenn der Benutzer es aktiviert oder deaktiviert.

state enthält die neue Qt::CheckState des Ankreuzfeldes.

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