首页 文章

制作QToolBar的“可检查”QToolButtons的最佳方法,其中一次只能检查其中一个按钮?

提问于
浏览
7

我想制作一个带有一些动作的QToolBar,每个动作都是“可检查的”(也就是说,我在创建它之后对每个动作调用setCheckable(true),这使得按钮在点击后处于关闭状态) .

我可以想到“取消选中”其他按钮的唯一方法是挂钩每个按钮的触发信号,并在选中给定按钮时取消选中其他按钮 .

有没有更好的办法?

1 回答

  • 13

    创建一个 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
    

相关问题