Здравствуйте, гость ( Вход | Регистрация )
druss | Дата 5.5.2010, 11:42 |
Для проверки, попробуй grabMouse() выполнять в конструкторе MainWindow. Runtime error. Вообще, используется примерно следующий алгоритм: при каком-то событии,например, нажали кнопку мышки, происходит захват мыши и указанный виджет обрабатывает все события от мышки, а при отпускании кнопки, мышка освобождается. Это необходимо например, для обработки изменения размеров виджета. Ну это понятно, но мне нужно без нажатия, просто что бы в мою программу всегда приходило событие о перемещении мыши, даже если окно программы свернуто. Вариант с grabMouse был бы самый раз, если бы он позволял нормально функционировать остальным приложениям. Я заметил что он посылает события дальше, но как-то очень редко... |
|
BRE | Дата 5.5.2010, 11:37 |
Для проверки, попробуй grabMouse() выполнять в конструкторе MainWindow. Вообще, используется примерно следующий алгоритм: при каком-то событии,например, нажали кнопку мышки, происходит захват мыши и указанный виджет обрабатывает все события от мышки, а при отпускании кнопки, мышка освобождается. Это необходимо например, для обработки изменения размеров виджета. Посмотри, как реализовано изменение размеров в QMdiSubWindow. |
|
druss | Дата 5.5.2010, 11:33 |
void QWidget::setMouseTracking ( bool enable ) Да, но оно отвечает за высылку событий при перемещении без нажатия кнопок, за пределами окна оно все равно не высылает события. Если в
то оно обрабатывает все сообщения о передвижении мыши, но дальше виджета событие не идет, и я даже не могу мышкой закрыть приложения. так же пробовал
Тоже нормально не может передать события в систему. |
|
BRE | Дата 5.5.2010, 10:57 |
смотрел, даже пробовал. Оно захватывает мышь, но не передает события дальше в систему... А это включал? void QWidget::setMouseTracking ( bool enable ) |
|
druss | Дата 5.5.2010, 10:54 |
смотрел, даже пробовал. Оно захватывает мышь, но не передает события дальше в систему... | |
BRE | Дата 5.5.2010, 10:16 |
Как можно получать событие перемещения мыши если она перемещается за пределами окна (кнопка не нажата)? Посмотри на void QWidget::grabMouse () |
|
druss | Дата 5.5.2010, 9:34 |
Как можно получать событие перемещения мыши если она перемещается за пределами окна (кнопка не нажата)? Спасибо за ответ. |
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 23.4.2024, 16:49 |