Russian Qt Forum
Ноябрь 27, 2024, 03:46 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Поведение QLayout и QSpacerItem  (Прочитано 5903 раз)
Sanya
Гость
« : Май 21, 2010, 13:56 »

Люди добрые, голова уже кипит.

Не могу понять поведение QLayout и в частности QSpacerItem.
Сделал класс для плавного раскрытия виджета. Суть его такова: по таймеру прибавляю/убавляю maximumSize указанного виджета. Кидаю на форму QLayout на него, допустим, QFrame и QSpacerItem. В итоге, при плавном изменении размеров QFrame происходят скачки - QSpacerItem как то странно занимает свободное место. Заменил QSpacerItem на прозрачный Qwidget с QSizePolicy::Expanding - все работает замечательно.
И еще. Как можно в реалтайме спрятать/убрать/удалить QSpacerItem. Нужно, что бы вывести по середине сообщение о недоступности(к примеру).
Понимаю, вникать долго - может хотя бы литературу какую толковую по компоновке(кроме Шлее и Бланшет)?
P.S.:
  Если кто захочет по разбираться к пн могу предоставить исходники-примеры.
Записан
NicK
Гость
« Ответ #1 : Май 21, 2010, 14:09 »

И еще. Как можно в реалтайме спрятать/убрать/удалить QSpacerItem. Нужно, что бы вывести по середине сообщение о недоступности(к примеру).
1. Стандартный delete по указателю на объект не работает что ли?
2. Если для вывода сообщений не устраивает QMessageBox и надо чтоб оно выводилось на самой форме, можно использовать QLabel, который поддерживает html форматирование текста. в том числе и выравнивание  Улыбающийся
Записан
Sanya
Гость
« Ответ #2 : Май 21, 2010, 18:11 »

1. да, delete
2. дык QLabel и использую, но он смещается либо в верх, либо вниз, ведь вторым объектом на QLyaout является QSpacerItem! Некрасиво! Нужно по центру.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.043 секунд. Запросов: 20.