3

Как разместить окно программы по центру на любом мониторе не зная разрешения в Qt. На одномониторной системе.

  • вопрос непонятен – Pavel Gridin Jul 31 '19 at 17:53
  • Запуск окна по центру монитора не зная разрешения экрана в Qt. – Даниил Макаров Jul 31 '19 at 17:55
  • На любом мониторе в многомониторной системе, или на любой одномониторной системе? дополните вопрос, кнопка "править" – Kromster Jul 31 '19 at 19:08
  • 1
    в Qt можно получить разрешение см. QDesktopWidget. Перемещение окна надо встроить в обработку showEvent, т.е. когда будет известна толщина рамки окна – Pavel Gridin Jul 31 '19 at 19:09
  • QDesktopWidget устарел, в справочной документации не рекомендуется его использовать. – Даниил Макаров Aug 03 '19 at 07:54

1 Answers1

1

Как вариант:

MainWindow w;
//Окно программы растянуть на весь монитор
w.showFullScreen(); 
//получить его размер, равный размеру монитора
const auto screenSize = w.size(); 
//вернуть обычный размер
w.showNormal(); 
//переместить в центр
w.move(screenSize.width()/2 - w.size().width()/2, 
       screenSize.height()/2 - w.size().height()/2);
magrif
  • 2,789