一个ToolBar里面的按钮都是button,如果有时候这些button用来表示同一件事情的不同状态,那就需要做到这个bar里面的所有button互斥,也就是同一个时间里,只有一个是处于按下的状态。如果另外一个按钮被按下了,这个按钮就要弹起来。那么,我们的做法就是把这些需要互斥的action组成一个group,并设置一个初始的被按下的按钮。
以下就是一个例子,大家可以参考。
QActionGroup *agViewGroup = new QActionGroup(this);
agViewGroup->addAction(actPoints);
agViewGroup->addAction(actWireframe);
agViewGroup->addAction(actHiddenLines);
agViewGroup->addAction(actFlatLines);
agViewGroup->addAction(actFlat);
agViewGroup->addAction(actSmooth);
actFlatLines->setChecked(true);