我想将QWidget(或QDialog)保持在其父窗口小部件的中心。是否确实需要连接到父窗口小部件的信号,或者是否有更简单的方法(需要设置)?

最佳答案

我自己解决了这个问题,只是回答我自己的问题,是否有人会觉得有用。

使其居中:

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

... waitDialog是我的“等待...”指示符的一个实例。这需要覆盖父级的moveEvent方法(此处为MyMainWindow)。

10-06 13:47