我做的项目里,在MainWindow下面还有两层子窗口. 我把第一层子窗口都放在了MainWindow下面的MdiArea中,显示没有问题. 但是在这一层子窗口中直接new的QDialog却都在顶端显示, 把MdiArea设置WindowStaysOnTop也没有用.
我现在希望新打开的窗口可以压住之前打开的子窗口下面的子窗口, 应该怎么做呢?
没有听明白你描述的需求。。。你可以表述的清楚一点,或者把代码贴上来。
不好意思....
就比如下面这段代码:
dialogA,B是mdiArea的subwindow, dialogC是dialogA的子窗口. 当C显示时, 总是会压在A和B的上面.
而我希望当A窗口或B窗口激活时可以覆盖C, 怎么实现呢?
想覆盖c就把c和ab同级别就行了。A dialog is always a top-level widget, but if it has a parent, its default location is centered on top of the parent. It will also share the parent's taskbar entry.文档上写的很清楚
但在我的工程里, C是在类A里面定义的, 如果我要让C与A,B同级的话是不是只能把C设成public, 然后在添加A为subwindow的地方同时添加C呢? 但是这样的话C就不能在点击按键时再实时创建了.
我试了下在A里获取它的parentWidget()只能获得subwindow但不能获取mdiArea, 有没有什么办法在A里面设置使得C与它们同级呢?
简单办法就是不给c设父窗体,然后A关闭的时候手动去关闭c
找到办法了....一个很麻烦的办法, 给C设的父窗是A的3JparentWidget.... 虽然笨但是好在实现我要的效果了
谢谢啦