私はこのコード例があります。QTでQDialogを中央に配置する方法は?
QDialog *dialog = new QDialog(this);
QPoint dialogPos = dialog->mapToGlobal(dialog->pos());
QPoint thisPos = mapToGlobal(this->pos());
dialog->exec();
をしかしダイアログは、彼の親を中心とされていません。前もって感謝します。
UPDATE:
私はメインウィンドウで、コンストラクタからのダイアログを呼び出しています:
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
this->panelInferior = new WidgetTabsInferior;
this->acciones = new Acciones(this);
crearAcciones();
crearBarraMenu();
crearToolbar();
crearTabsEditor();
crearArbolDir();
crearDockWindows();
crearStatusBar();
setWindowIcon(QIcon(":imgs/logo.png"));
connect(this->pestanasEditor , SIGNAL(currentChanged(int)),this,SLOT(cambioTab(int)));
this->dialogo = new AcercaDe(this);
this->dialogo->move(x() + (width() - dialogo->width())/2,
y() + (height() - dialogo->height())/2);
this->dialogo->show();
this->dialogo->raise();
this->dialogo->activateWindow();
}
しかし、私は取得は次のとおりです。
http://www.qtcentre.org/threads/43802-Centering-child-window-in-parent http://stackoverflow.com/questions/18385916/how-to-keep-a-qwidget-or -qdialogを中心とする親ウィジェット –
[QWidget(またはQDialog)を親ウィジェットの中央に置く方法は?](http://stackoverflow.com/questions/18385916/how-to-親ウィジェットを中心に保つ) –