qt widget 随父窗口移动
时间: 2023-09-03 17:15:27 浏览: 221
在 Qt 中,如果你想让一个 widget 随着它的父窗口移动,可以使用 QWidget::moveEvent() 事件。以下是一个示例代码:
```cpp
void CustomWidget::moveEvent(QMoveEvent* event)
{
// 获取父窗口的位置
QPoint parentPos = parentWidget()->pos();
// 获取父窗口的大小
QSize parentSize = parentWidget()->size();
// 获取 widget 的位置
QPoint widgetPos = pos();
// 获取 widget 的大小
QSize widgetSize = size();
// 计算 widget 的新位置
QPoint newWidgetPos(parentPos.x() + parentSize.width() / 2 - widgetSize.width() / 2,
parentPos.y() + parentSize.height() / 2 - widgetSize.height() / 2);
// 移动 widget
move(newWidgetPos);
}
```
在上述代码中,`CustomWidget` 是你想要随父窗口移动的 widget 的子类。在 `moveEvent()` 函数中,我们首先获取父窗口的位置和大小,然后计算 widget 的新位置,最后使用 `move()` 函数来移动 widget 到新位置。
阅读全文
相关推荐
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)