QButtonGroup Class
QButtonGroup クラスは、ボタンウィジェットのグループを整理するためのコンテナを提供します。詳細...
| ヘッダー: | #include <QButtonGroup> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake: | QT += widgets |
| 継承元: | QObject |
プロパティ
- exclusive : bool
パブリック関数
| 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) |
シグナル
| 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) |
詳細な説明
QButtonGroup は、ボタンウィジェットを配置できる抽象的なコンテナを提供します。このコンテナの視覚的な表現は提供しませんが(コンテナウィジェットについてはQGroupBox を参照)、代わりにグループ内の各ボタンの状態を管理します。
exclusive のボタングループは、クリックされたボタンを除き、すべてのチェック可能な(トグル)ボタンの選択を解除します。デフォルトでは、ボタングループは排他モードになります。 ボタングループ内のボタンは、通常、チェック可能なQPushButton、QCheckBox(通常は非排他的なボタングループ用)、またはQRadioButtonです。排他的なボタングループを作成する場合は、グループ内のボタンのいずれかが初期状態でチェックされていることを確認する必要があります。そうしないと、グループは初期状態でどのボタンもチェックされていない状態になります。
ボタンのグループへの追加はaddButton()で行い、削除はremoveButton()で行います。グループが排他的な場合、現在チェックされているボタンはcheckedButton()で取得できます。ボタンがクリックされると、buttonClicked()シグナルが発信されます。排他的なグループ内のチェック可能なボタンについては、これはボタンがチェックされたことを意味します。 グループ内のボタンのリストは、buttons() によって返されます。
さらに、QButtonGroup は整数とボタンの間で対応付けを行うことができます。setId() を使用してボタンに整数の ID を割り当て、id() を使用してそれを取得できます。現在チェックされているボタンの ID はcheckedId() で取得でき、ボタンの ID を発信するidClicked() というシグナルがあります。 ID「-1 」は、QButtonGroup によって「そのようなボタンは存在しない」ことを意味するために予約されています。このマッピングメカニズムの目的は、ユーザーインターフェースにおける列挙値の表現を簡略化することです。
QGroupBox 、QPushButton 、QCheckBox 、およびQRadioButtonも参照してください 。
プロパティのドキュメント
exclusive : bool
このプロパティは、ボタングループが排他的であるかどうかを指定します
このプロパティが「true 」に設定されている場合、グループ内のボタンは、いつでも1つだけチェックされた状態になります。ユーザーは任意のボタンをクリックしてチェックでき、そのボタンがグループ内で現在チェックされているボタンの代わりにチェックされた状態になります。
排他的なグループでは、ユーザーは現在チェックされているボタンをクリックしてもチェックを解除することはできません。代わりに、そのグループの新しいチェック対象ボタンを設定するには、グループ内の別のボタンをクリックする必要があります。
デフォルトでは、このプロパティはtrue に設定されています。
Access 関数:
| bool | exclusive() const |
| void | setExclusive(bool) |
メンバー関数のドキュメント
[explicit] QButtonGroup::QButtonGroup(QObject *parent = nullptr)
指定されたparent を使用して、新しい空のボタングループを作成します。
addButton() およびsetExclusive()も参照してください 。
[virtual noexcept] QButtonGroup::~QButtonGroup()
ボタングループを削除します。
void QButtonGroup::addButton(QAbstractButton *button, int id = -1)
指定されたbutton をボタングループに追加します。id が-1の場合、ボタンにIDが割り当てられます。自動的に割り当てられるIDは、-2から始まる負の値であることが保証されています。独自のIDを割り当てる場合は、競合を避けるために正の値を使用してください。
removeButton() およびbuttons()も参照してください 。
QAbstractButton *QButtonGroup::button(int id) const
指定されたid を持つボタンを返します。そのようなボタンが存在しない場合は、nullptr を返します。
[signal] void QButtonGroup::buttonClicked(QAbstractButton *button)
このシグナルは、指定されたbutton がクリックされたときに発生します。ボタンがクリックされたとは、最初に押されてから離されたとき、そのショートカットキーが入力されたとき、またはQAbstractButton::click() やQAbstractButton::animateClick() がプログラムから呼び出されたときを指します。
checkedButton() およびQAbstractButton::clicked()も参照してください 。
[signal] void QButtonGroup::buttonPressed(QAbstractButton *button)
このシグナルは、指定されたbutton が押されたときに発生します。
QAbstractButton::pressed()も参照してください 。
[signal] void QButtonGroup::buttonReleased(QAbstractButton *button)
このシグナルは、指定されたbutton が解放されたときに発せられます。
QAbstractButton::released()も参照してください 。
[signal] void QButtonGroup::buttonToggled(QAbstractButton *button, bool checked)
このシグナルは、指定されたbutton がトグルされたときに発火します。checked は、ボタンがチェックされている場合はtrue、チェックされていない場合はfalseになります。
QAbstractButton::toggled()も参照してください 。
QList<QAbstractButton *> QButtonGroup::buttons() const
ボタングループに含まれるボタンのリストを返します。このリストは空の場合もあります。
addButton() およびremoveButton()も参照してください 。
QAbstractButton *QButtonGroup::checkedButton() const
ボタングループ内でチェックされているボタンを返します。チェックされているボタンがない場合は、nullptr を返します。
buttonClicked()も参照してください 。
int QButtonGroup::checkedId() const
checkedButton() の ID を返します。ボタンがチェックされていない場合は -1 を返します。
setId()も参照してください 。
int QButtonGroup::id(QAbstractButton *button) const
指定されたbutton のIDを返します。そのようなボタンが存在しない場合は-1を返します。
setId()も参照してください 。
[signal] void QButtonGroup::idClicked(int id)
このシグナルは、指定されたid を持つボタンがクリックされたときに発火します。
checkedButton() およびQAbstractButton::clicked()も参照してください 。
[signal] void QButtonGroup::idPressed(int id)
このシグナルは、指定されたid を持つボタンが押されたときに発生します。
QAbstractButton::pressed()も参照してください 。
[signal] void QButtonGroup::idReleased(int id)
このシグナルは、指定されたid を持つボタンが離されたときに発火します。
QAbstractButton::released()も参照してください 。
[signal] void QButtonGroup::idToggled(int id, bool checked)
このシグナルは、指定されたid を持つボタンがトグルされたときに発火します。checked は、ボタンがチェックされている場合はtrue、チェックされていない場合はfalseになります。
QAbstractButton::toggled()も参照してください 。
void QButtonGroup::removeButton(QAbstractButton *button)
指定されたbutton をボタングループから削除します。
addButton() およびbuttons()も参照してください 。
void QButtonGroup::setId(QAbstractButton *button, int id)
指定されたbutton のid を設定します。なお、id は-1にすることはできません。
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.