Название: Получаю неверный размер виджета, не могу получить правильный Отправлено: Normann от Январь 04, 2011, 12:36 Ситуация следующая: функции width(), height(), size() выдают недействительный размер виджета. Создаю класс виджета (наследую от QWidget). В конструкторе пишу код в роде этого:
Код: //Есть QWidget, есть QVBoxLayout и дочерние виджеты в нем В результате lineEdit выдает "640 480", но реальный размер виджета намного меньше. Где же взять реальные размеры, и почему результаты вушеуказанных функций выдают недействительные? Название: Re: Получаю неверный размер виджета, не могу получить правильный Отправлено: alexman от Январь 04, 2011, 12:49 Делай после show().
Название: Re: Получаю неверный размер виджета, не могу получить правильный Отправлено: Normann от Январь 04, 2011, 12:51 Делай после show(). Не могу, моя задача получить размеры виджета до того как он появится на экране, на пример для предварительного отцентрирования.Название: Re: Получаю неверный размер виджета, не могу получить правильный Отправлено: pastor от Январь 04, 2011, 14:03 Цитировать Не могу, моя задача получить размеры виджета до того как он появится на экране Как уже сказал alexman, размеры виджета ты можешь получить только после show event Название: Re: Получаю неверный размер виджета, не могу получить правильный Отправлено: hordi1 от Январь 04, 2011, 14:11 Можешь попробовать показать вне пределов экрана, затем обработать все размеры и переместить куда нужно.
Название: Re: Получаю неверный размер виджета, не могу получить правильный Отправлено: Normann от Январь 04, 2011, 14:18 А есть в Qt что нибудь специальное для предварительного центрирования виджета на экране? Я привык использовать размеры раб.стола / 2 + размеры виджета / 2
Название: Re: Получаю неверный размер виджета, не могу получить правильный Отправлено: hordi1 от Январь 04, 2011, 14:38 Стандартного ничего нет, я использую или QDesktopWidget (для центрирования на экране) или главный виджет (для центрирования относительно своей аппликухи).
Название: Re: Получаю неверный размер виджета, не могу получить правильный Отправлено: SABROG от Январь 04, 2011, 14:42 Попробуй заставить компановщик пересчитать геометрию виджета "за кадром" таким образом
Код
Я обычно центрирую главное окно таким образом: Код
Название: Re: Получаю неверный размер виджета, не могу получить правильный Отправлено: Normann от Январь 08, 2011, 18:32 Ничего из этого не помогает. Нашел решение - либо в конструкторе задать размеры виджету самостоятельно, а потом по этим размерам центрировать, либо перегрузить showEvent() и там центрировать.
Название: Re: Получаю неверный размер виджета, не могу получить правильный Отправлено: SASA от Январь 10, 2011, 14:39 Можно посмотреть в коде КуТе как центрируются модальные диалоги.
|