Russian Qt Forum
Ноябрь 27, 2024, 09:31
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Пользовательский интерфейс (GUI)
>
Как узнать в QGraphicsScene,что View ресайзнулся?
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Как узнать в QGraphicsScene,что View ресайзнулся? (Прочитано 2415 раз)
Caduceus
Гость
Как узнать в QGraphicsScene,что View ресайзнулся?
«
:
Июль 26, 2011, 12:55 »
Необходимо перестраивать айтемы при ресайзе QGraphicsView. Как в соответствующей сцене узнать об этом событии, не переопределяя QGraphicsView (ради одной функции не хочется классы плодить)?
Записан
GreatSnake
Джедай : наставник для всех
Offline
Сообщений: 2921
Re: Как узнать в QGraphicsScene,что View ресайзнулся?
«
Ответ #1 :
Июль 26, 2011, 13:01 »
Никак. Да и идеологически это не нужно.
Зачем модели знать, что как-то изменилось представление, которых, кстати, может быть несколько.
Зачем вообще менять содержимое сцены, если меняется представление?
Записан
Qt 5.11/4.8.7 (X11/Win)
Caduceus
Гость
Re: Как узнать в QGraphicsScene,что View ресайзнулся?
«
Ответ #2 :
Июль 26, 2011, 13:04 »
Хорошо, может я что-то не так делаю
Тогда спрошу по-другому.
У меня айтемы - это графики, они располагаются вертикально друг под другом. При горизонтальном ресайзе окна эти графики необходимо перестроить (или более детализированно при расширении, или упростить при сужении).
Вот как сделать так, чтобы айтемы автоматически расширялись под всю ширину вида и каждый айтем знал об этом и перестраивал картинку своего графика?
Записан
GreatSnake
Джедай : наставник для всех
Offline
Сообщений: 2921
Re: Как узнать в QGraphicsScene,что View ресайзнулся?
«
Ответ #3 :
Июль 26, 2011, 13:18 »
Имхо, в таком случае лучше всё самому рисовать без QGraphics.
Но, коли уже так сделано, то по-любому придётся перегружать QGraphicsView::resizeEvent() и уже из него испускать сигнал resized().
Меня, кстати, тоже это напрягает - тролли могли бы добавить это.
Записан
Qt 5.11/4.8.7 (X11/Win)
Makss
Гость
Re: Как узнать в QGraphicsScene,что View ресайзнулся?
«
Ответ #4 :
Июль 27, 2011, 11:27 »
eventFilter попробуйте
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...