Название: Поведение QLayout и QSpacerItem Отправлено: Sanya от Май 21, 2010, 13:56 Люди добрые, голова уже кипит.
Не могу понять поведение QLayout и в частности QSpacerItem. Сделал класс для плавного раскрытия виджета. Суть его такова: по таймеру прибавляю/убавляю maximumSize указанного виджета. Кидаю на форму QLayout на него, допустим, QFrame и QSpacerItem. В итоге, при плавном изменении размеров QFrame происходят скачки - QSpacerItem как то странно занимает свободное место. Заменил QSpacerItem на прозрачный Qwidget с QSizePolicy::Expanding - все работает замечательно. И еще. Как можно в реалтайме спрятать/убрать/удалить QSpacerItem. Нужно, что бы вывести по середине сообщение о недоступности(к примеру). Понимаю, вникать долго - может хотя бы литературу какую толковую по компоновке(кроме Шлее и Бланшет)? P.S.: Если кто захочет по разбираться к пн могу предоставить исходники-примеры. Название: Re: Поведение QLayout и QSpacerItem Отправлено: NicK от Май 21, 2010, 14:09 И еще. Как можно в реалтайме спрятать/убрать/удалить QSpacerItem. Нужно, что бы вывести по середине сообщение о недоступности(к примеру). 1. Стандартный delete по указателю на объект не работает что ли?2. Если для вывода сообщений не устраивает QMessageBox и надо чтоб оно выводилось на самой форме, можно использовать QLabel, который поддерживает html форматирование текста. в том числе и выравнивание :) Название: Re: Поведение QLayout и QSpacerItem Отправлено: Sanya от Май 21, 2010, 18:11 1. да, delete
2. дык QLabel и использую, но он смещается либо в верх, либо вниз, ведь вторым объектом на QLyaout является QSpacerItem! Некрасиво! Нужно по центру. |