Qt: взаимоисключающие контролируемые пункты меню?

Многие программы Windows имеют взаимоисключающие элементы меню. Qt Designer позволяет сделать каждый отдельный элемент проверенным или не подлежащим проверке. Но есть ли способ группировать кучу предметов и сделать их взаимоисключающими?

Ответ 1

Qt только что получил то, что вам нужно, вы можете использовать класс QActionGroup.

Каждое действие в группе будет автоматически взаимоисключающим.

#include <QActionGroup>

alignmentGroup = new QActionGroup(this);
alignmentGroup->addAction(leftAlignAct);
alignmentGroup->addAction(rightAlignAct);
alignmentGroup->addAction(justifyAct);
alignmentGroup->addAction(centerAct);
leftAlignAct->setChecked(true);

(изображение с официального сайта Qt)

enter image description here