QMessageBox msgBox;
msgBox.setText(trUtf8("Содержимое таблицы изменилось."));
msgBox.setInformativeText(trUtf8("Вы хотите сохранить изменения?"));
msgBox.setStandardButtons(
QMessageBox::Save |
QMessageBox::Discard |
QMessageBox::Cancel
);
msgBox.setDefaultButton(QMessageBox::Save);
int ret = msgBox.exec();
При этом сообщение появляется то в середине экрана, то в левом верхнем углу. Я хочу, чтобы всегда было по центру. Наблюдается зависимость от текущего фокуса: если запустить программу и сразу закрыть крестиком - то всё правильно; если что-нибудь пощёлкать в окошке, а потом закрыть крестиком, то всегда в углу; если закрывать через пункт меню (то есть сигнал activate action'а менюшки нацелен на слот close единственного окна), то всегда всё правильно.