问题描述
|
我在GIMP中注意到,打开对话框时不会禁用父窗口。父窗口仍可使用,而子窗口则浮动在其前面。
我想做同样的事情,当我单击父窗口时,对我来说它将孩子推向后方,从而使父排在最前面。
我正在使用Qt QDialog,但是很高兴做特定于平台的代码来使它工作。
我一直在这里看:
http://msdn.microsoft.com/zh-CN/library/ff700543(v=vs.85).aspx
但似乎无所事事。我目前有一个躲避解决方案,当我的应用程序获得焦点时,我将窗口设置为“ 0”,然后在失去焦点时将其设置为“ 0”,但由于将消息框推到这些最上面的窗口后面,因此不理想。
即。
SetwindowPos(winId(),stayOnTop ? HWND_TOPMOST : HWND_NOTOPMOST,SWP_NOMOVE | SWP_NOACTIVATE);
解决方法
看起来我的对话框上没有正确设置育儿设置!需要将其作为父对话框/主窗口的父项,然后才能正常工作。
,您需要调用
setWindowFlags()
(包括Qt::WindowStaysOnTopHint
标志)。