我有一个由主窗口调用的UI窗口。我希望它是非模态的,但仍然停留在父级窗口顶部,如果父级窗口最小化,则与其一起最小化。
如果用户想要在两个窗口中进行更改,他应该能够这样做,并且除非用户关闭它,否则子窗口不会关闭。子窗口始终保持在父窗口的顶部,但不保持在其他任何窗口的顶部。
m_child->show();
m_child->activateWindow();
上面的代码将子元素放在父元素之上,这意味着可以在启动子元素的同时对父元素进行操作...但是,如果失去焦点,子元素会被隐藏在父元素后面。
m_child->show();
m_child->activateWindow();
m_child->raise();
没有变化。
使用
Qt::WindowFlags flags = m_child->windowFlags();
m_child->setWindowFlags(flags | Qt::CustomizeWindowHint | Qt::WindowStaysOnTopHint);
m_child->show();
m_child->activateWindow();
孩子位于顶部,正如我所希望的,我可以在父级上工作,而孩子仍然显示在顶部...但是最小化父级不会使孩子也最小化,孩子会停留在所有窗口的顶部(它只应停留在父级的顶部)
如何实现“工具箱样式”效果 - 在父级活动时将孩子置于顶部,但在最小化父级时将孩子最小化?
我还尝试了所有的窗口标志,但它们允许孩子在失去焦点时变为隐藏状态。