Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
| Гость_Юрий_* |
1.3.2012, 16:46
Сообщение
#1
|
|
Гости |
Здравствуйте, не могу никак понять, как применить фильтр событий к изменению размера виджета. Например, при помощи мыши растягиваю главное окно, а его виджет потомок растягивается пропорционально. Вот небольшой пример, не воплощённый в жизнь:
|
|
|
|
|
Steklova Olga |
2.3.2012, 14:00
Сообщение
#2
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 198 Регистрация: 27.9.2011 Из: Санкт-Петербург Пользователь №: 2912 Спасибо сказали: 5 раз(а) Репутация: 4
|
Цитата(Гость_Юрий_* @ 1.3.2012, 16:46) Link не могу никак понять, как применить фильтр событий к изменению размера виджета. Например, при помощи мыши растягиваю главное окно, а его виджет потомок растягивается пропорционально Скажите конкретнее, что вам нужно. |
|
|
|
| Гость_Юрий_* |
2.3.2012, 15:10
Сообщение
#3
|
|
Гости |
Цитата(Steklova Olga @ 2.3.2012, 14:00) Link Цитата(Гость_Юрий_* @ 1.3.2012, 16:46) Link не могу никак понять, как применить фильтр событий к изменению размера виджета. Например, при помощи мыши растягиваю главное окно, а его виджет потомок растягивается пропорционально Скажите конкретнее, что вам нужно.На простом примере: В главном окне - виджет потомок (ну... QScrollArea например). Растягиваю главное окно, соответственно меняется его размер. Так вот, как динамически изменить размер виджета потомка?(при помощи возникающего события передать ему меняющийся размер родителя). Вариант с использованием QGridLayout получается единственный? |
|
|
|
|
ViGOur |
2.3.2012, 15:29
Сообщение
#4
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40
|
Цитата(Гость_Юрий_* @ 2.3.2012, 16:10) Link Вариант с использованием QGridLayout получается единственный? Ну почему же, есть и Link, Link, Link, Link, и Link.Вот только мне пока не понятно, зачем тебе использовать события, если есть Link? Если просто, ради изучения фильтра событий разве что! Как вариант, тебе нужно переопределить твой класс QWidget и в нём уже реализовать eventFilter, хотя по моему лучше переопределить виртуальную функцию QWidget::resizeEvent После чего получаешь в Link, получаешь QResizeEvent::size и назначаешь его всем свои дочерним элементам пропрционально их размеру. |
|
|
|
![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 25.12.2025, 18:12 |