Qt儿童窗口放置

时间:2008-08-27 15:54:08

标签: c++ qt user-interface qtgui

有没有办法在Qt中指定孩子的初始窗口位置?

我有一个在Linux和Windows上运行的应用程序,看起来Qt的默认行为让Window Manager确定子窗口的位置。

在Windows上,这位于父级所在的屏幕中央,这似乎是合理的。

在Linux上,在GNOME(metacity)中,它始终位于左上角,这很烦人。我找不到任何窗口管理器的metacity首选项,允许我控制窗口放置,所以我想覆盖这种行为。

2 个答案:

答案 0 :(得分:3)

Qt Widget Geometry

在show()之前调用子窗口上的move(x,y)方法。 x和y的默认值为0,这就是它出现在左上角的原因 您还可以使用父窗口的位置来计算子项的相对位置。

答案 1 :(得分:0)

一般情况下,除非您的应用程序有一些非常特殊的窗口要求,否则我建议不要强制窗口位置。这是窗口管理员的工作,以确定新窗口的放置位置,并且大多数窗口都做得很好。如果MetaCity没有选择好位置,那就是它的问题。

如果您进行自己的窗口放置,那么您可能会得到一个更糟糕的窗口管理器会给出的结果,但是您也会错过更高级窗口管理器中可用的智能窗口放置算法。