QInputDialog предоставляется в качестве удобного класса, который обеспечивает быстрый и простой способ запроса ввода и, как таковой, не допускает особой настройки. Я не вижу ничего в документации, чтобы указать, что вы можете изменить расположение окна. Я бы предложил просто создать свой собственный диалог, расширив QDialog. Это займет больше времени, но позволит вам настроить форму.
Если вы хотите определить, была ли нажата кнопка отмены в QInputDialog, вы должны передать указатель на bool в функцию getInteger () в качестве 8-го аргумента.
do{
bool ok;
factArg = QInputDialog::getInteger(0, "Factorial Calculator", "Factorial of:",
value, minValue, maxValue, step, &ok);
if(!ok)
{
//cancel was pressed, break out of the loop
break;
}
//
// Do your processing based on input
//
} while (some_condition);
Если ok возвращает false, пользователь нажимает кнопку отмены, и вы можете выйти из цикла. Вы можете увидеть, что значение, minValue, maxValue и step означают в документации:
Документация QInputDialog