显示新窗口在旧窗口的中心



我有QWidget与按钮。当按下按钮时,显示新的小窗口(Qwidget也是)。我想然后新窗口是居中水平和垂直的主窗口。显示新窗口的代码为:

QWidget *wdg = new QWidget;
QPushButton *closeBtn = new QPushButton("Close");
QHBoxLayout *layout = new QHBoxLayout;
layout->addWidget(closeBtn);
wdg->setLayout(layout);
wdg->show();
wdg->resize(400,200);

使用move插槽。例如:

QPoint centerPoint = oldWidget->geometry()->center();
newWidget->adjustSize();
newWidget->move(centerPoint.x() - newWidget->width()/2, centerPoint.y() - newWidget->height()/2);

你可以考虑用frameGeometry()代替geometry()

http://qt-project.org/doc/qt-5/application-windows.html,请问

希望对你有帮助。

最新更新