Qt 在Solaris CDE中如何使无模式对话框保持在其父对话框的顶部

Qt 在Solaris CDE中如何使无模式对话框保持在其父对话框的顶部,qt,solaris,Qt,Solaris,在使用CDE公共桌面环境的Solaris 8/10计算机中,我对Qt无模式对话框有问题 该对话框用作绘图面板/弹出窗口,要求用户在继续绘制之前从主应用程序中选择工具。问题是,每当用户单击主应用程序工具栏时,对话框就会转到主应用程序的后面 请注意,这只是与CDE有关的行为,开放式Windows环境或Solaris Java环境不会导致此问题 我的问题是如何使它始终位于其父主应用程序之上 我试图将WX11BypassWM标志传递到对话框,以绕过窗口管理器,但随后边框和框架消失,导致对话框无法拖动/移

在使用CDE公共桌面环境的Solaris 8/10计算机中,我对Qt无模式对话框有问题

该对话框用作绘图面板/弹出窗口,要求用户在继续绘制之前从主应用程序中选择工具。问题是,每当用户单击主应用程序工具栏时,对话框就会转到主应用程序的后面

请注意,这只是与CDE有关的行为,开放式Windows环境或Solaris Java环境不会导致此问题

我的问题是如何使它始终位于其父主应用程序之上

我试图将WX11BypassWM标志传递到对话框,以绕过窗口管理器,但随后边框和框架消失,导致对话框无法拖动/移动

更新1:

关于:

我尝试过Qt::WStyle_StaysOnTop,但它不起作用

我还试图结合:

WX11BypassWM | WStyle | WStyle | WStyle | WStyle | WStyle |

和WStyle_DialogBorder、WType_TopLevel等的其他组合,只有传入WX11BypassWM时,它才保持在顶部

但无论何时传入WX11BypassWM,显示的对话框都不会有边框或标题栏

这意味着这是一个不可移动的无标题对话

更新2:

因为我找不到解决这个问题的方法,所以我暂时通过调整主应用程序和无模式对话框的大小并重新定位来解决这个问题

这至少可以让用户在两个界面中导航


如果有更好的建议,请告诉我。

我不确定我是否理解您的问题,但是,是否可以使用:

可在QtAssistant中找到:

enum Qt::WindowType
flags Qt::WindowFlags
Qt::WindowStaysOnTopHint:

通知窗口系统该窗口应位于所有其他窗口的顶部


我希望这能有点帮助

谢谢你,安迪,我试过Qt::WStyle_StaysOnTop,但没用。我还尝试将WX11BypassWM | WStyle|u StaysOnTop | WStyle|u Title和其他WStyle|u DialogBorder、WType|u TopLevel…组合在一起,只有传入WX11BypassWM时,它才会保持在顶部。但无论何时传入WX11BypassWM,显示的对话框都不会有边框或标题栏。这意味着这是一个无法移动的无标题对话。。。