我有一个Widget类作为QtPlugin。在我的主应用程序中,我想加载此窗口小部件并作为toggledaction添加到菜单栏,以便以后如果我关闭该窗口小部件,则可以通过菜单栏将其打开。如何做到这一点。
由于这不是docketwidget,所以我不能使用以下内容:
ui->menuPlugins->addAction(dockedWidget->toggleViewAction());
我尝试过这样的事情:
void MainWindow::addToPluginsMenu(QWidget *const widget) {
ui->menuPlugins->setEnabled(true);
QWidgetAction *ac = new QWidgetAction(this);
ui->menuPlugins->addAction(ac);
}
已添加操作,但该操作为空且无法切换。谁能为我提供解决方案?
谢谢
答案 0 :(得分:0)
为了添加切换的动作并使切换后的动作保持可见。
使用setDefaultWidget功能
例如:
// Create menu
QMenu * poMainMenu = new QMenu(this);
// toggled widget
QCheckBox * poCbTest = new QCheckBox("toggle",this);
// set the toggle widget as menu action
QWidgetAction *ac = new QWidgetAction(this);
ac->setDefaultWidget(poCbTest);
// add the action to the menu
poMainMenu->addAction(ac);