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

How to enable the menubar in a QUndoView window in Qt?

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

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

视图是在单独的 window 中创建的(这是我想要的),但是 window 有一个禁用的菜单栏,所以我根本无法移动或关闭它。有没有办法启用它?

好的,所以问题是主要 window 有一个 window 模态 Qt::WindowModality::ApplicationModal,它阻止所有输入到任何其他顶级 window。只需将主 window 更改为带有 SetWindowModality 的非模态即可解决此问题。

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

或者,如果主要 window 是从那里创建的,则直接在 Qt creator 中更改模态。