QButtonGroup Class
Die Klasse „QButtonGroup“ stellt einen Container zur Organisation von Gruppen von Schaltflächen-Widgets bereit. Mehr...
| Header: | #include <QButtonGroup> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake: | QT += widgets |
| Erbt von: | QObject |
Eigenschaften
- exclusive : bool
Öffentliche Funktionen
| QButtonGroup(QObject *parent = nullptr) | |
| virtual | ~QButtonGroup() |
| void | addButton(QAbstractButton *button, int id = -1) |
| QAbstractButton * | button(int id) const |
| QList<QAbstractButton *> | buttons() const |
| QAbstractButton * | checkedButton() const |
| int | checkedId() const |
| bool | exclusive() const |
| int | id(QAbstractButton *button) const |
| void | removeButton(QAbstractButton *button) |
| void | setExclusive(bool) |
| void | setId(QAbstractButton *button, int id) |
Signale
| void | buttonClicked(QAbstractButton *button) |
| void | buttonPressed(QAbstractButton *button) |
| void | buttonReleased(QAbstractButton *button) |
| void | buttonToggled(QAbstractButton *button, bool checked) |
| void | idClicked(int id) |
| void | idPressed(int id) |
| void | idReleased(int id) |
| void | idToggled(int id, bool checked) |
Ausführliche Beschreibung
QButtonGroup stellt einen abstrakten Container bereit, in den Schaltflächen-Widgets platziert werden können. Er bietet keine visuelle Darstellung dieses Containers (siehe QGroupBox für ein Container-Widget), sondern verwaltet stattdessen die Zustände der einzelnen Schaltflächen in der Gruppe.
Eine „ exclusive “-Schaltflächengruppe deaktiviert alle aktivierbaren (Umschalt-)Schaltflächen mit Ausnahme derjenigen, auf die geklickt wurde. Standardmäßig ist eine Schaltflächengruppe exklusiv. Die Schaltflächen in einer Schaltflächengruppe sind in der Regel aktivierbare „ QPushButton“, „ QCheckBox“ (normalerweise für nicht-exklusive Schaltflächengruppen) oder „ QRadioButton“. Wenn Sie eine exklusive Schaltflächengruppe erstellen, sollten Sie sicherstellen, dass eine der Schaltflächen in der Gruppe anfänglich aktiviert ist; andernfalls befindet sich die Gruppe zunächst in einem Zustand, in dem keine Schaltflächen aktiviert sind.
Ein Button kann mit ` addButton()` zur Gruppe hinzugefügt und mit ` removeButton()` entfernt werden. Ist die Gruppe exklusiv, ist der aktuell markierte Button über ` checkedButton()` abrufbar. Wird ein Button angeklickt, wird das Signal ` buttonClicked()` ausgelöst; bei einem markierbaren Button in einer exklusiven Gruppe bedeutet dies, dass der Button markiert wurde. Die Liste der Schaltflächen in der Gruppe wird von ` buttons()` zurückgegeben.
Darüber hinaus kann QButtonGroup eine Zuordnung zwischen Ganzzahlen und Schaltflächen herstellen. Mit ` setId()` können Sie einer Schaltfläche eine ganzzahlige ID zuweisen und diese mit ` id()` abrufen. Die ID der aktuell markierten Schaltfläche ist über ` checkedId()` verfügbar, und es gibt ein Signal ` idClicked()`, das die ID der Schaltfläche ausgibt. Die ID -1 ist von QButtonGroup reserviert und bedeutet „keine solche Schaltfläche“. Der Zweck des Zuordnungsmechanismus besteht darin, die Darstellung von Enum-Werten in einer Benutzeroberfläche zu vereinfachen.
Siehe auch QGroupBox, QPushButton, QCheckBox und QRadioButton.
Dokumentation zu Eigenschaften
exclusive : bool
Diese Eigenschaft legt fest, ob die Schaltflächengruppe exklusiv ist
Wenn diese Eigenschaft auf „ true “ gesetzt ist, kann zu jedem Zeitpunkt nur eine Schaltfläche in der Gruppe ausgewählt sein. Der Benutzer kann auf eine beliebige Schaltfläche klicken, um sie auszuwählen; diese Schaltfläche ersetzt dann die bisher ausgewählte Schaltfläche in der Gruppe.
In einer exklusiven Gruppe kann der Benutzer die aktuell markierte Schaltfläche nicht durch Anklicken demarkieren; stattdessen muss eine andere Schaltfläche in der Gruppe angeklickt werden, um die neue markierte Schaltfläche für diese Gruppe festzulegen.
Standardmäßig ist diese Eigenschaft auf „ true “ gesetzt.
Zugriffsfunktionen:
| bool | exclusive() const |
| void | setExclusive(bool) |
Dokumentation zu Mitgliedsfunktionen
[explicit] QButtonGroup::QButtonGroup(QObject *parent = nullptr)
Erstellt eine neue, leere Schaltflächengruppe mit dem angegebenen „ parent “.
Siehe auch „ addButton()“ und „ setExclusive()“.
[virtual noexcept] QButtonGroup::~QButtonGroup()
Löscht die Schaltflächengruppe.
void QButtonGroup::addButton(QAbstractButton *button, int id = -1)
Fügt die angegebene ID „ button “ zur Schaltflächengruppe hinzu. Wenn „ id “ den Wert -1 hat, wird der Schaltfläche eine ID zugewiesen. Automatisch zugewiesene IDs sind garantiert negativ und beginnen bei -2. Wenn Sie eigene IDs zuweisen, verwenden Sie positive Werte, um Konflikte zu vermeiden.
Siehe auch removeButton() und buttons().
QAbstractButton *QButtonGroup::button(int id) const
Gibt die Schaltfläche mit dem angegebenen „ id “ zurück oder „ nullptr “, falls keine solche Schaltfläche existiert.
[signal] void QButtonGroup::buttonClicked(QAbstractButton *button)
Dieses Signal wird ausgelöst, wenn auf das angegebene button geklickt wird. Ein Button gilt als angeklickt, wenn er zuerst gedrückt und dann losgelassen wird, wenn seine Tastenkombination eingegeben wird oder wenn QAbstractButton::click() oder QAbstractButton::animateClick() programmgesteuert aufgerufen wird.
Siehe auch checkedButton() und QAbstractButton::clicked().
[signal] void QButtonGroup::buttonPressed(QAbstractButton *button)
Dieses Signal wird ausgegeben, wenn die angegebene Taste „ button “ gedrückt wird.
Siehe auch QAbstractButton::pressed().
[signal] void QButtonGroup::buttonReleased(QAbstractButton *button)
Dieses Signal wird ausgelöst, wenn die angegebene „ button “ losgelassen wird.
Siehe auch QAbstractButton::released().
[signal] void QButtonGroup::buttonToggled(QAbstractButton *button, bool checked)
Dieses Signal wird ausgelöst, wenn die angegebene Eigenschaft „ button “ umgeschaltet wird. „ checked “ ist „true“, wenn die Schaltfläche aktiviert ist, und „false“, wenn sie deaktiviert ist.
Siehe auch „ QAbstractButton::toggled()“.
QList<QAbstractButton *> QButtonGroup::buttons() const
Gibt die Liste der Schaltflächen der Schaltflächengruppe zurück. Diese kann leer sein.
Siehe auch addButton() und removeButton().
QAbstractButton *QButtonGroup::checkedButton() const
Gibt die markierte Schaltfläche der Schaltflächengruppe zurück oder „ nullptr “, wenn keine Schaltflächen markiert sind.
Siehe auch „ buttonClicked()“.
int QButtonGroup::checkedId() const
Gibt die ID des Elements „ checkedButton()“ zurück oder -1, wenn keine Schaltfläche aktiviert ist.
Siehe auch ` setId()`.
int QButtonGroup::id(QAbstractButton *button) const
Gibt die ID der angegebenen Schaltfläche „ button “ zurück oder -1, falls keine solche Schaltfläche vorhanden ist.
Siehe auch ` setId()`.
[signal] void QButtonGroup::idClicked(int id)
Dieses Signal wird ausgelöst, wenn eine Schaltfläche mit der angegebenen id angeklickt wird.
Siehe auch checkedButton() und QAbstractButton::clicked().
[signal] void QButtonGroup::idPressed(int id)
Dieses Signal wird ausgelöst, wenn eine Taste mit der angegebenen id gedrückt wird.
Siehe auch ` QAbstractButton::pressed()`.
[signal] void QButtonGroup::idReleased(int id)
Dieses Signal wird ausgelöst, wenn eine Schaltfläche mit der angegebenen ID „ id “ losgelassen wird.
Siehe auch ` QAbstractButton::released()`.
[signal] void QButtonGroup::idToggled(int id, bool checked)
Dieses Signal wird ausgelöst, wenn eine Schaltfläche mit der angegebenen id umgeschaltet wird. checked ist „true“, wenn die Schaltfläche aktiviert ist, und „false“, wenn sie deaktiviert ist.
Siehe auch QAbstractButton::toggled().
void QButtonGroup::removeButton(QAbstractButton *button)
Entfernt die angegebene „ button “ aus der Schaltflächengruppe.
Siehe auch „ addButton()“ und „ buttons()“.
void QButtonGroup::setId(QAbstractButton *button, int id)
Legt den Wert „ id “ für das angegebene „ button “ fest. Beachten Sie, dass „ id “ nicht den Wert -1 annehmen darf.
Siehe auch id().
© 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.