Я использую Qt 4.8.3 на X11.
Мне нужно знать, когда пользователь заканчивает перетаскивать окно по экрану, чтобы прочитать окончательную позицию и, в конечном итоге, запустить анимацию, чтобы настроить положение окна на «разрешенное».
Я заметил, что QWidget::moveEvent
вызывается для каждого небольшого движения, но это очень неудобно, потому что я должен выполнять проверку положения (и в конечном итоге запускать анимацию) только тогда, когда пользователь отпускает кнопку мыши и движение полностью завершено.
Это настоящая проблема: кажется, что невозможно обнаружить событие отпускания мыши (или получить статус кнопок мыши), когда пользователь щелкает строку заголовка, поскольку это контролируется ОС, а не Qt. Я также пробовал с QWidget::x11event(XEvent* e)
… но события собираются только внутри окна, а не в строке заголовка.
Кто-нибудь знает способ добиться этого?
Я подозреваю, что мне придется самому переделать заголовок… жаль…