1
Ich habe ein QMenu und mehrere QWidgetActions, mit Checkboxen, wenn ich versuche, auf einen Bereich des QMenu zu klicken, wird das Menü geschlossen. Ich möchte das verhindern.Verhindern, dass ein QMenu schließt, wenn eine seiner QAction nicht ausgelöst wird
Hier ist, wie ich die Aktionen und die Menüs machen.
QWidgetAction* action = new QWidgetAction(menu);
action->setCheckable(checkable);
action->setData(data);
QWidget *containerWidget = new QWidget(menu);
QHBoxLayout *hbox = new QHBoxLayout(containerWidget);
QCheckBox *checkBox = new QCheckBox(menu);
checkBox->setText(title);
QObject::connect(checkBox, &QCheckBox::toggled, action, &QAction::trigger);
hbox->addWidget(checkBox);
hbox->addWidget(widget);
QObject::connect(action, &QAction::toggled, [this]() { OnPoiFilterCheckBox(); });
containerWidget->setLayout(hbox);
action->setDefaultWidget(containerWidget);
action->setData(data);
menu->addAction(action);