Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct
Set Z-Order of Windows?
I have 4 windows that have the WindowStaysOnTopHint applied to them; is it possible to manually set their z-orders?
It depends on the windows manger.
you can try call raise ()
but im not sure it works with WindowStaysOnTopHint
I've tried using raise() but the results have been inconsistent, with the z-order of some windows changing spontaneously. Or, in the case I'm struggling with now, calling raise does nothing initially then later another call to raise actually raises the window.
I was hoping there was a way to set it absolutely.
I had similar results on windows.
What platform are you on ?
I never saw a function to explicitly set the the z order value.
note on windows, i had ok result calling
to bring a top window to the very front of other tops.
I guess I'll look into doing this with the Windows API.
Is the goal to control stacking order or
be able to bring top window in front on demand ?
if yes to bringtofront, can you try with
To control the stacking order.
The issue with using activateWindow is that the windows represent a pop-up dialog with a dropdown menu. One window represents the dialog with the line edit and another represents the dropdown list, so activating the window I want to raise takes the focus from the line edit window.
On top of that, both the dialog and the dropdown list windows' have another window that follow them around that's used to draw a drop shadow. This is where the issue is because the drop shadow for the dialog window overlaps the window for the dropdown list.
Did you try fiddling around with FocusPolicy
so only clicking will take focus ?
Not sure it helps but no harm mentioned it.
I'm not sure if the focus policy applies here, because the drop shadow never takes any sort of focus, and the dropdown list only takes focus when an item is selected then it's immediately hidden.
I mean for the case
"activating the window I want to raise takes the focus from the line edit window."
but it was a thought.