如何在Qt的QUndoView窗口中启用菜单栏?

时间:2018-11-28 08:46:24

标签: qt user-interface window menubar

我使用QUndoStack,并且想使用QUndoView显示其内容。我按如下方式创建视图:

undoView = new QUndoView(&_undoStack);
undoView->setWindowTitle(tr("Undo Stack"));
undoView->show();

该视图是在单独的窗口中创建的(这是我想要的),但是该窗口具有禁用的菜单栏,因此我根本无法移动它或将其关闭。有办法启用它吗?

1 个答案:

答案 0 :(得分:0)

好的,所以问题在于主窗口的窗口模态为Qt::WindowModality::ApplicationModal,该模态会阻止所有输入到任何其他顶级窗口。只需使用SetWindowModality将主窗口更改为非模态即可解决此问题。

hide();
setWindowModality(Qt::WindowModality::NonModal);
show();

如果主窗口是从那里创建的,则可以直接在Qt Creator中更改模式。