我使用QUndoStack,并且想使用QUndoView显示其内容。我按如下方式创建视图:
undoView = new QUndoView(&_undoStack);
undoView->setWindowTitle(tr("Undo Stack"));
undoView->show();
该视图是在单独的窗口中创建的(这是我想要的),但是该窗口具有禁用的菜单栏,因此我根本无法移动它或将其关闭。有办法启用它吗?
答案 0 :(得分:0)
好的,所以问题在于主窗口的窗口模态为Qt::WindowModality::ApplicationModal
,该模态会阻止所有输入到任何其他顶级窗口。只需使用SetWindowModality将主窗口更改为非模态即可解决此问题。
hide();
setWindowModality(Qt::WindowModality::NonModal);
show();
如果主窗口是从那里创建的,则可以直接在Qt Creator中更改模式。