いくつかのアクションを含む QToolBar を作成しようとしていますが、それぞれが「チェック可能」です (つまり、作成後に各アクションで setCheckable(true) を呼び出すと、ボタンをクリックした後にボタンがダウン状態のままになります) )。
他のボタンの「チェックを外す」ことを考える唯一の方法は、各ボタンのトリガー信号にフックし、特定のボタンがチェックされたときに他のボタンのチェックを外すことです。
より良い方法はありますか?
を作成し、QActionGroup
それをアクションの親にします。これQActionGroup
により、その子の状態が維持されます。
QActionGroup *anActionGroup = new QActionGroup(yourParentWidget);
QAction* action1 = new QAction("Action 1", anActionGroup);
QAction* action2 = new QAction("Action 2", anActionGroup);
QAction* actionN = new QAction("Action N", anActionGroup);
action1->setCheckable(true);
action2->setCheckable(true);
actionN->setCheckable(true);
// Add these action to the tool bar