Название: QMenu geometry Отправлено: andrew.k от Январь 11, 2012, 00:35 Как заставить QMenu обновить свою геометрию до того, как меню будет показано?
Все, что я пробовал не сработало. Пока что написал такой фикс. Возможно есть другие варианты? Код
Название: Re: QMenu geometry Отправлено: andrew.k от Январь 11, 2012, 00:43 Кстати, этот метод вычисляет геометрию некорректно. Но пока сойдет.
Название: Re: QMenu geometry Отправлено: andrew.k от Январь 11, 2012, 02:26 вычисляет корректно, просто стили подгружались после вычиления размеров в конструкторе.
Название: Re: QMenu geometry Отправлено: GreatSnake от Январь 11, 2012, 07:24 А что, adjustSize() не помог?
Название: Re: QMenu geometry Отправлено: andrew.k от Январь 11, 2012, 08:23 А что, adjustSize() не помог? Нет. Он почему-то растягивает меню до размера формы.Отображается корректно, но до показа размеры гигантские. Название: Re: QMenu geometry Отправлено: andrew.k от Январь 11, 2012, 13:17 неужели никто?
Меню находится внутри графической сцены. Во вложении скрин проблемы. Справа это уже край окошка, а не скриншот обрезанный. Название: Re: QMenu geometry Отправлено: BRE от Январь 11, 2012, 13:18 Можно попробовать еще с sizeHint() поиграться.
Название: Re: QMenu geometry Отправлено: andrew.k от Январь 11, 2012, 13:20 Можно попробовать еще с sizeHint() поиграться. Пробовал, он возвращает абстрактные значения, похожие но не соответствующие действительности.Название: Re: QMenu geometry Отправлено: BRE от Январь 11, 2012, 13:33 Попробуй перехватывать resizeEvent и корректировать положение там.
Название: Re: QMenu geometry Отправлено: andrew.k от Январь 11, 2012, 13:53 Попробуй перехватывать resizeEvent и корректировать положение там. Чем это будет лучше текущего решения?Сейчас я это делаю перед вызовом popup(). И код отрабатывает однократно. Т.е. только первый показ меню. Название: Re: QMenu geometry Отправлено: BRE от Январь 11, 2012, 16:10 Чем это будет лучше текущего решения? Кстати, этот метод вычисляет геометрию некорректно. Но пока сойдет. Будешь получать корректную геометрию. Я думал в этом был смысл треда. Название: Re: QMenu geometry Отправлено: andrew.k от Январь 11, 2012, 16:44 Так я ж привел код. Он корректную вычисляет. Просто сначала забыл про стили и решил, что не правильно. Оказалось все верно.
Просто странно, что нет нормального способа заставить его обновить геометрию до показа. |