在一些情况下使用group actions是非常有用的。例如,如果你有一个Left Align action, a Right Alignaction, a Justify action,但在任何一个时刻你只想这些actions中只有一个可以是活动的。一个很简单的方法是把这些actions加入到一个action group中。
下面是一个例子:
alignmentGroup->addAction(leftAlignAct);
alignmentGroup->addAction(rightAlignAct);
alignmentGroup->addAction(justifyAct);
alignmentGroup->addAction(centerAct);
leftAlignAct->setChecked(true);
当一个actions被选择的时候,一个QActionGroup发射一个triggered()信号。
就像上面所示,一个action group默认是互斥的,他确保在任意时刻只有一个action是活动的。如果你想取消互斥,你可以调用setExclusive(false);