【发布时间】:2015-03-08 08:53:45
【问题描述】:
我有一个由主窗口调用的 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();
孩子在最上面,正如我想要的那样,我可以在孩子仍然显示在最上面的时候对父母工作......但是最小化父母并不会最小化孩子,并且孩子保持在所有之上windows(它应该只停留在父级之上)
如何制作“工具箱样式”效果 - 在父项处于活动状态时让子项在父项之上,但在父项最小化时最小化子项?
我还尝试了所有窗口标志,但它们允许孩子在失去焦点时隐藏起来。
【问题讨论】: