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 回答