【发布时间】:2014-04-24 14:10:43
【问题描述】:
我知道 QDialog 应该默认定位在父窗口的中心,但我显然错过了一些微妙之处。我有一个从 QWidget 派生的对象,并且正在尝试使用以下测试代码创建一个以该对象为中心的子对话框
QDialog *dialog = new QDialog(this);
QPoint dialogPos = dialog->mapToGlobal(dialog->pos());
QPoint thisPos = mapToGlobal(this->pos());
dialog->exec();
当我这样做时,对话框会出现在我窗口的左上角。 dialogPos 是 (0,0),thisPos 是 (808, 371)。
我错过了什么?为什么对话框没有像我预期的那样居中显示?
【问题讨论】:
-
你有没有尝试过这样的事情:stackoverflow.com/a/18302990/867349?
-
那是给 QWidget 的。我的理解是 QDialog 应该自动完成。