【发布时间】:2017-01-10 08:50:40
【问题描述】:
我有一个 QMenu 和几个 QWidgetAction,带有复选框,当我尝试单击 QMenu 的任何区域时,菜单会关闭。我想防止这种情况发生。
这是我执行操作和菜单的方式。
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);
【问题讨论】: