Russian Qt Forum

Программирование => Общий => Тема начата: opera от Январь 21, 2018, 15:43



Название: Поймать событие resizeEvent
Отправлено: opera от Январь 21, 2018, 15:43
Добрый день. Подскажите пожалуйста, как поймать событие resizeEvent для QWidget, когда окно уже уменьшится не может. То есть алгоритм такой:
1. Открывается окно QWidget
2. Берем его за правую сторону и тащим до максимально возможного размера влево(уменьшаем его) отпускаем мышь — тут проблем нет, пока возможно уменьшение окна resizeEvent ловиться
3. Далее пытаемся уменьшит окно еще сильнее, но это невозможно и тут уже сигнал resizeEvent уже не ловится, какое событие ловить в этот момент?


Название: Re: Поймать событие resizeEvent
Отправлено: ssoft от Январь 22, 2018, 08:43
QResizeEvent формируется только вследствие изменения размера окна, а не при желании. Когда уже изменение размеров невозможно, событие QResizeEvent уже не формируется.
Посмотрите в сторону QHoverEvent, QMoveEvent. А лучше переопределите метод virtual bool event ( QEvent * e ) и посмотрите все типы событий, которые приходят в вашем случае.


Название: Re: Поймать событие resizeEvent
Отправлено: Igors от Январь 22, 2018, 12:05
3. Далее пытаемся уменьшит окно еще сильнее, но это невозможно и тут уже сигнал resizeEvent уже не ловится, какое событие ловить в этот момент?
Да, и это нормально (удобно, естественно). Если Вы хотите зарядить какие-то действия типа "сверх-уменьшения" то придется ловить движение мыша. Задумка явно нездоровая