QButtonGroup Class
Die Klasse QButtonGroup stellt einen Container zur Verfügung, um Gruppen von Button-Widgets zu organisieren. Mehr...
Kopfzeile: | #include <QButtonGroup> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
qmake: | QT += widgets |
Vererbt: | 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) |
Detaillierte Beschreibung
QButtonGroup bietet einen abstrakten Container, in dem Schaltflächen-Widgets platziert werden können. Es 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 schaltet alle anklickbaren (Toggle-)Schaltflächen aus, außer derjenigen, die angeklickt wurde. Standardmäßig ist eine Schaltflächengruppe exklusiv. Die Schaltflächen in einer Schaltflächengruppe sind in der Regel überprüfbar QPushButtons, QCheckBoxes (normalerweise für nicht-exklusive Schaltflächengruppen) oder QRadioButtons. Wenn Sie eine exklusive Schaltflächengruppe erstellen, sollten Sie sicherstellen, dass eine der Schaltflächen in der Gruppe anfangs aktiviert ist; andernfalls befindet sich die Gruppe anfangs in einem Zustand, in dem keine Schaltflächen aktiviert sind.
Eine Schaltfläche kann mit addButton() zu der Gruppe hinzugefügt und mit removeButton() wieder entfernt werden. Wenn die Gruppe exklusiv ist, ist die aktuell markierte Schaltfläche mit checkedButton() verfügbar. Wenn eine Schaltfläche angeklickt wird, wird das Signal buttonClicked() ausgegeben; für eine überprüfbare Schaltfläche in einer exklusiven Gruppe bedeutet dies, dass die Schaltfläche überprüft wurde. Die Liste der Schaltflächen in der Gruppe wird von buttons() zurückgegeben.
Zusätzlich kann QButtonGroup zwischen Ganzzahlen und Schaltflächen abbilden. Sie können einer Schaltfläche mit setId() eine ganzzahlige ID zuweisen und sie mit id() abrufen. Die ID des aktuell markierten Buttons ist mit checkedId() verfügbar, und es gibt ein Signal idClicked(), das die ID des Buttons ausgibt. Die id -1
ist von QButtonGroup reserviert und bedeutet "kein solcher Button". Der Zweck des Mapping-Mechanismus ist es, die Darstellung von Enum-Werten in einer Benutzeroberfläche zu vereinfachen.
Siehe auch QGroupBox, QPushButton, QCheckBox, und QRadioButton.
Dokumentation der Eigenschaft
exclusive : bool
Diese Eigenschaft gibt an, ob die Schaltflächengruppe exklusiv ist
Wenn diese Eigenschaft true
lautet, kann nur eine Schaltfläche in der Gruppe zu einem bestimmten Zeitpunkt geprüft werden. Der Benutzer kann auf eine beliebige Schaltfläche klicken, um sie zu markieren, und diese Schaltfläche ersetzt die vorhandene Schaltfläche als markierte Schaltfläche in der Gruppe.
In einer exklusiven Gruppe kann der Benutzer die Markierung der aktuell markierten Schaltfläche nicht aufheben, indem er auf sie klickt; 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 true
.
Zugriffsfunktionen:
bool | exclusive() const |
void | setExclusive(bool) |
Dokumentation der Mitgliedsfunktionen
[explicit]
QButtonGroup::QButtonGroup(QObject *parent = nullptr)
Konstruiert eine neue, leere Schaltflächengruppe mit der angegebenen parent.
Siehe auch addButton() und setExclusive().
[virtual noexcept]
QButtonGroup::~QButtonGroup()
Zerstört die Schaltflächengruppe.
void QButtonGroup::addButton(QAbstractButton *button, int id = -1)
Fügt die angegebene button zu der Schaltflächengruppe hinzu. Wenn id -1 ist, wird der Schaltfläche eine ID zugewiesen. Automatisch zugewiesene Ids sind garantiert negativ, beginnend mit -2. Wenn Sie Ihre eigenen 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
, wenn keine solche Schaltfläche existiert.
[signal]
void QButtonGroup::buttonClicked(QAbstractButton *button)
Dieses Signal wird ausgegeben, wenn die angegebene button angeklickt wird. Eine Schaltfläche wird angeklickt, wenn sie zuerst gedrückt und dann losgelassen wird, wenn ihre Schnelltaste gedrückt wird oder wenn QAbstractButton::click() oder QAbstractButton::animateClick() programmatisch aufgerufen wird.
Siehe auch checkedButton() und QAbstractButton::clicked().
[signal]
void QButtonGroup::buttonPressed(QAbstractButton *button)
Dieses Signal wird ausgesendet, wenn die angegebene button gedrückt wird.
Siehe auch QAbstractButton::pressed().
[signal]
void QButtonGroup::buttonReleased(QAbstractButton *button)
Dieses Signal wird ausgesendet, wenn die angegebene button freigegeben wird.
Siehe auch QAbstractButton::released().
[signal]
void QButtonGroup::buttonToggled(QAbstractButton *button, bool checked)
Dieses Signal wird ausgegeben, wenn die angegebene Schaltfläche button umgeschaltet wird. checked ist true, wenn die Schaltfläche markiert ist, oder false, wenn die Schaltfläche nicht markiert 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äche markiert ist.
Siehe auch buttonClicked().
int QButtonGroup::checkedId() const
Gibt die ID von checkedButton() zurück, oder -1, wenn keine Schaltfläche markiert ist.
Siehe auch setId().
int QButtonGroup::id(QAbstractButton *button) const
Gibt die ID für die angegebene Schaltfläche button zurück, oder -1, wenn keine solche Schaltfläche existiert.
Siehe auch setId().
[signal]
void QButtonGroup::idClicked(int id)
Dieses Signal wird ausgegeben, wenn eine Schaltfläche mit dem angegebenen id angeklickt wird.
Siehe auch checkedButton() und QAbstractButton::clicked().
[signal]
void QButtonGroup::idPressed(int id)
Dieses Signal wird ausgegeben, wenn eine Taste mit der angegebenen id gedrückt wird.
Siehe auch QAbstractButton::pressed().
[signal]
void QButtonGroup::idReleased(int id)
Dieses Signal wird ausgegeben, wenn eine Taste mit der angegebenen id losgelassen wird.
Siehe auch QAbstractButton::released().
[signal]
void QButtonGroup::idToggled(int id, bool checked)
Dieses Signal wird ausgegeben, wenn eine Schaltfläche mit dem angegebenen id umgeschaltet wird. checked ist true, wenn die Schaltfläche markiert ist, oder false, wenn die Schaltfläche nicht markiert 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)
Setzt die id für die angegebene button. Beachten Sie, dass id nicht -1 sein kann.
Siehe auch id().
© 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.