覆盖和定位窗户

时间:2015-05-30 18:44:24

标签: qt qt5

让我们说我有一个小部件,它不能让孩子小部件显示在它之上 - 但这就是我需要的外观。我假设完成该外观的唯一方法是将子窗口小部件放入其自己的窗口。

我怎样才能做到这个"孩子"窗口始终位于" parent"的顶部,并将其定位在底部(带有预定义的边距)并水平居中?

它也应该响应父窗口的大小调整。

一个很好的例子就像是视频的控制栏

(事实上 - 我猜在全屏模式下,VLC基本上就是这样做的......是吗?)

编辑:这是我当前的小部件布局:http://i.imgur.com/NcRLmrd.png

请注意,搜索栏未显示在视频

1 个答案:

答案 0 :(得分:1)

子窗口小部件应该有Qt::Tool窗口标志,并且父窗口小部件应该像往常一样设置为子窗口的父窗口小部件。通过这种方式,它将成为顶级窗口小部件,并始终位于父级之上。

您应该手动定位子窗口小部件。例如,您可以在父窗口小部件上安装事件过滤器,并对MoveResize事件类型做出反应。