当窗口小部件不可见时,QWidget :: mapToGlobal()

时间:2011-09-13 19:43:54

标签: qt qwidget

当窗口小部件不可见时,

可以QWidget::mapToGlobal工作吗?我在手册上找不到任何东西。如果不能为什么?

1 个答案:

答案 0 :(得分:5)

我刚刚编写了一个在隐藏的小部件上调用QWidget::mapToGlobal( QPoint( 0,0 ) )的小程序。我发现的是我的位置变化,取决于在查询其位置之前窗口小部件是否已经显示在屏幕上。

QWidget::mapToGlobal()文档说:

将窗口小部件坐标pos转换为全局屏幕坐标。例如,mapToGlobal(QPoint(0,0))将给出小部件左上角像素的全局坐标。

请注意,如果窗口小部件不可见,它在屏幕上可能无法保证全局位置,这似乎是合乎逻辑的。

通过调用方法获得的实际结果似乎取决于窗口小部件最后显示的位置(如果有)。因此,在Qt的当前版本或未来版本中依赖此行为保持稳定似乎是不明智的。