Какое-то тотальное непонимание что же надо сделать.
Пишу себе просмотрщик графики. Хочется простого: если картинка меньше размера экрана, то выводить как есть и уменьшать само окно программы до размер QLabel. Соответственно если картинка больше экрана, то масштабировать её до размера экрана по наибольшей стороне и опять же масштабировать главное окно программы до его содержимого.
Но столкнулся с тем, что я то ли не могу правильно расчитать размер для виджета чтобы описать QLabel без появления скроллбара. Основная проблема в том,ч то я не понимаю как узнать\задать размер окна включая рамку. frameGeometry() и geometry() выдают один и тот же результат.
Что делать и как быть? Аможет быть я вообще не в ту степь иду.

сейчас я узнаю максимальное разрешение картинки вот так:
int desktopHeight = QApplication::desktop()->availableGeometry(QApplication::desktop()->primaryScreen()).height() - (style()->pixelMetric(QStyle::PM_TitleBarHeight) + ui->menuBar->height()+ ui->statusBar->height());


Окно масштабирую так (от отчаяния):
resize(imageLabel->width() + 100, imageLabel->height() + style()->pixelMetric(QStyle::PM_TitleBarHeight) + ui->menuBar->height() + ui->statusBar->height());