2

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

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

在 Windows 上,它位于父屏幕的中心,这似乎是合理的。

在 Linux 上,在 GNOME(metacity)中,它总是在左上角,这很烦人。我找不到任何允许我控制窗口放置的 metacity 窗口管理器首选项,因此我想覆盖该行为。

4

2 回答 2

3

Qt 小部件几何

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

于 2008-08-27T16:34:56.693 回答
0

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

如果您自己放置窗口,您可能会得到比糟糕的窗口管理器更好的结果,但您也会错过更高级窗口管理器中可用的智能窗口放置算法。

于 2008-10-02T17:45:20.010 回答