C++ Qt 获得布局中控件在整个界面中的位置
时间: 2024-02-05 08:13:17 浏览: 232
qt控件布局
3星 · 编辑精心推荐
在Qt中,可以使用QWidget的mapToGlobal()函数将控件相对于父控件的坐标转换为相对于屏幕的坐标。然后,可以使用QDesktopWidget的availableGeometry()函数获取屏幕的大小和位置,从而计算出控件在整个界面中的位置。
以下是一个示例代码:
```cpp
QRect rect = widget->geometry();
QPoint pos = widget->mapToGlobal(rect.topLeft());
QRect screenRect = QApplication::desktop()->availableGeometry();
int x = pos.x() - screenRect.x();
int y = pos.y() - screenRect.y();
```
其中,widget是要获取位置的控件。最后,x和y即为该控件在整个界面中的位置。
阅读全文