Название: подогнать размер окна под содержимое Отправлено: kambala от Январь 23, 2016, 17:49 Здравствуйте. Есть QMainWindow -> QScrollArea -> QWidget. Точный размер QWidget известен, хочу ресайзить окно чтобы весь QWidget влезал, но, естественно размер окна должен быть не более, чем qApp->desktop()->availableGeometry().
Имеющийся код не учитывает размер тайтлбара (во всяком случае под виндой, в мак ос вроде все четко), поскольку frameGeometry() возвращает размер не всего окна (а может и еще что-то не учтено), поэтому для большой высоты виджета окно немного вылазит за экран. Пока так и не придумал как правильно все рассчитать :( Пример виджета в аттаче. Код
Название: Re: подогнать размер окна под содержимое Отправлено: gil9red от Январь 23, 2016, 18:12 А может, наоборот сделать? Подгоните размер содержимого под размер окна :)
Название: Re: подогнать размер окна под содержимое Отправлено: kambala от Январь 23, 2016, 18:40 размер виджета статический, но он может превышать размер экрана, потому там QScrollArea. либо я не понял о чем ты :)
Название: Re: подогнать размер окна под содержимое Отправлено: Old от Январь 23, 2016, 18:48 По мне, так это не очень хорошее поведение. Пользователь должен сам решать, какого размера и где должно располагаться окно, тем более под капотом у вас QScrollArea.
Название: Re: подогнать размер окна под содержимое Отправлено: panAlexey от Январь 26, 2016, 18:46 По мне, так это не очень хорошее поведение. Пользователь должен сам решать, какого размера и где должно располагаться окно, тем более под капотом у вас QScrollArea. Но об юзвере и позаботиться нужно.Название: Re: подогнать размер окна под содержимое Отправлено: Igors от Январь 27, 2016, 08:43 Тоже мучился на Вындоуз. Беда в том что размеры "рамки" не дают пока нет окна. Родил такое
Код
Название: Re: подогнать размер окна под содержимое Отправлено: kambala от Январь 27, 2016, 17:04 у меня окно уже есть :)
windowHandle() — странно, вроде смотрел документацию, а этого метода не нашел... спасибо! Название: Re: подогнать размер окна под содержимое Отправлено: Igors от Январь 28, 2016, 09:13 у меня окно уже есть :) По умолчанию системное окно (окно Вындоуз) не создается до show, и windowHandle возвращает NULL. Если у Вас так, то не вызывайте windowId() для своего окна - это действие не безобидно, "тренируйтесь на кошках" (doomed). windowHandle() — странно, вроде смотрел документацию, а этого метода не нашел... спасибо! Название: Re: подогнать размер окна под содержимое Отправлено: kambala от Январь 28, 2016, 16:11 да, я понял. но у меня окно уже создано — контент отрисовывается в дочернем виджете и не при запуске приложения.
|