9

いくつかのアクションを含む QToolBar を作成しようとしていますが、それぞれが「チェック可能」です (つまり、作成後に各アクションで setCheckable(true) を呼び出すと、ボタンをクリックした後にボタンがダウン状態のままになります) )。

他のボタンの「チェックを外す」ことを考える唯一の方法は、各ボタンのトリガー信号にフックし、特定のボタンがチェックされたときに他のボタンのチェックを外すことです。

より良い方法はありますか?

4

1 に答える 1

16

を作成し、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
于 2010-07-01T03:29:27.210 に答える