1

我想获得框架控件的绝对 x 和 y 坐标。我知道有一个QWidget::mapToGlobal函数应该给我这些坐标 - 但它总是返回相对点。

我的代码是:

 int y = ui->frame->mapToGlobal(ui->frame->window()->pos()).y();  

谁能帮我理解我做错了什么?

编辑:发现问题 - 在显示之前,我在主窗口类中调用了这一行。所以现在我的问题是如何获得主窗口在其构造函数中显示的位置?

4

1 回答 1

1

我认为你不能,无论如何都不能可靠和便携。该位置尚未确定,并且通常由窗口管理器而不是应用程序做出决定。

所以,你应该做的是覆盖moveEvent()resizeEvent()和/或showEvent()那些是做这样的事情的正确地方,而不是构造函数。

于 2013-09-08T10:43:01.057 回答