我使用 aQMainWindow
作为我的 main的孩子QMainWindow
。这样我就得到了另一个可以用于可停靠小部件的区域(QDockWidget
)。
根据以下帖子,这没关系,它对我也很有效。
- https://qt-project.org/forums/viewthread/17519
- http://www.qtcentre.org/threads/12569-QMainWindow-as-a-child-of-QMainWindow
为了使QMainWindow
行为像一个正常的小部件,我取消了窗口标志,这个技巧在上面的一篇文章中提到。
现在我还希望能够QMainWindow
使用它所有停靠的小部件来浮动这个孩子。换句话说,我想恢复“使其成为普通小部件”的步骤。不幸的是,这不起作用。它从主窗口消失了,但根本不可见。
有什么办法解决吗?
// this is the child QMainWindow
if (this->m_infoAreaFloating)
{
// this should give me a floating window besides the main window
this->setWindowFlags(Qt::Desktop);
this->show();
}
else
{
// make this compliant as QWidget
this->setWindowFlags(this->windowFlags() & ~Qt::Window);
}