如何让QWidget(或QDialog)以其父窗口小部件为中心?

Bea*_*ker 3 c++ qt

我想让QWidget(或QDialog)以其父窗口小部件为中心.是否真的需要连接到父窗口小部件的信号,还是有更简单的方法(要设置的东西)?

Bea*_*ker 5

我自己解决了,只是回答我自己的问题,如果有人会发现它有用.

把它放在中心:

void MyMainWindow::moveEvent(QMoveEvent* event)
{
    const QPoint global = this->mapToGlobal(rect().center());
    waitDialog->move(global.x() - waitDialog->width() / 2, global.y() - waitDialog->height() / 2);
}
Run Code Online (Sandbox Code Playgroud)

... waitDialog我的"等待......"指标的实例在哪里.这需要覆盖moveEvent父方法(此处MyMainWindow).