我希望父窗口始终位于子窗口的顶部。
QMainWindow a();
a.show();
QMainWindow b(&a);
mat.show();
如何将a
设置为b
?
答案 0 :(得分:0)
您的设置似乎有点奇怪。主窗口B以A为其父级。如果你想拥有独立窗口,我想你应该删除继承链接。
在此cas中,您可以更改show calls的顺序以更改窗口的顺序:
QMainWindow a;
QMainWindow b;
b.show();
a.show();
如果您确定自己想要的方式,那么您就拥有了多种解决方案。
你可以用其他顺序调用show方法吗?未经测试。
也许你可以在调用show之前设置windows标志。如果你想以永久的方式拥有A,你可以更改windows标志:
这将是:
QMainWindow a;
QMainWindow b;
a.setWindowsFlags(Qt::WindowStaysOnTopHint| Qt::X11BypassWindowManagerHint);
a.show();
b.show();
如果你想操纵"谁是谁"在你的应用程序中,也许你应该将它们组合在一起,或者给它们一个共同的祖先,或类似的东西。