Qt:互斥的可检查菜单项?

Vio*_*ffe 16 qt menu

许多Windows程序具有互斥的可检查菜单项.Qt Designer允许使每个单独的项目可检查或不可检查.但有没有办法将一堆物品分组并使它们相互排斥?

Tay*_*510 22

Qt刚刚得到你需要的,你可以使用QActionGroup类.

组中的每个操作都将自动互斥.

#include <QActionGroup>

alignmentGroup = new QActionGroup(this);
alignmentGroup->addAction(leftAlignAct);
alignmentGroup->addAction(rightAlignAct);
alignmentGroup->addAction(justifyAct);
alignmentGroup->addAction(centerAct);
leftAlignAct->setChecked(true);
Run Code Online (Sandbox Code Playgroud)

(来自Qt官方网站的图片)

在此输入图像描述

  • 您需要将操作标记为可检查,才能在GUI中看到。在`leftAlignAct-&gt; setChecked(true);`之前使用`leftAlignAct-&gt; setCheckable(true);`。 (3认同)