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



当小部件不可见时,QWidget::mapToGlobal可以工作吗?我在手册上什么也没找到。

我刚刚写了一个小程序,在一个隐藏的小部件上调用QWidget::mapToGlobal( QPoint( 0,0 ) )。我发现我得到的位置是不同的,这取决于小部件在我查询它的位置之前是否已经显示在屏幕上。

QWidget::mapToGlobal()文档说:

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

读到这里,如果小部件不可见,它就不可能在屏幕上有一个保证的全局位置,这似乎是合乎逻辑的。

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

相关内容

  • 没有找到相关文章

最新更新