利用QActionGroup类使按钮互斥

在一些情况下使用group actions是非常有用的。例如,如果你有一个Left Align action, a Right Alignaction, a Justify action,但在任何一个时刻你只想这些actions中只有一个可以是活动的。一个很简单的方法是把这些actions加入到一个action group中。

下面是一个例子:

  alignmentGroup = new QActionGroup(this);

alignmentGroup->addAction(leftAlignAct);
alignmentGroup->addAction(rightAlignAct);
alignmentGroup->addAction(justifyAct);
alignmentGroup->addAction(centerAct);
leftAlignAct->setChecked(true);

 

当一个actions被选择的时候,一个QActionGroup发射一个triggered()信号。

就像上面所示,一个action group默认是互斥的,他确保在任意时刻只有一个action是活动的。如果你想取消互斥,你可以调用setExclusive(false);

 

posted @ 2012-08-15 10:42  kevinzhwl  阅读(1024)  评论(0编辑  收藏  举报