![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
Гость_Юрий_* |
![]()
Сообщение
#1
|
Гости ![]() |
Здравствуйте, не могу никак понять, как применить фильтр событий к изменению размера виджета. Например, при помощи мыши растягиваю главное окно, а его виджет потомок растягивается пропорционально. Вот небольшой пример, не воплощённый в жизнь:
|
|
|
![]() |
Steklova Olga |
![]()
Сообщение
#2
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 198 Регистрация: 27.9.2011 Из: Санкт-Петербург Пользователь №: 2912 Спасибо сказали: 5 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
Гость_Юрий_* |
![]()
Сообщение
#3
|
Гости ![]() |
не могу никак понять, как применить фильтр событий к изменению размера виджета. Например, при помощи мыши растягиваю главное окно, а его виджет потомок растягивается пропорционально Скажите конкретнее, что вам нужно.На простом примере: В главном окне - виджет потомок (ну... QScrollArea например). Растягиваю главное окно, соответственно меняется его размер. Так вот, как динамически изменить размер виджета потомка?(при помощи возникающего события передать ему меняющийся размер родителя). Вариант с использованием QGridLayout получается единственный? |
|
|
ViGOur |
![]()
Сообщение
#4
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
Вариант с использованием QGridLayout получается единственный? Ну почему же, есть и QHBoxLayout, QVBoxLayout, QFormLayout, QGridLayout, и QStackedLayout.Вот только мне пока не понятно, зачем тебе использовать события, если есть Классы компоновки? Если просто, ради изучения фильтра событий разве что! ![]() Как вариант, тебе нужно переопределить твой класс QWidget и в нём уже реализовать eventFilter, хотя по моему лучше переопределить виртуальную функцию QWidget::resizeEvent После чего получаешь в QResizeEvent, получаешь QResizeEvent::size и назначаешь его всем свои дочерним элементам пропрционально их размеру. |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 9.6.2025, 14:56 |