![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
NordWest |
![]()
Сообщение
#1
|
Студент ![]() Группа: Участник Сообщений: 86 Регистрация: 26.11.2008 Пользователь №: 433 Спасибо сказали: 1 раз(а) Репутация: ![]() ![]() ![]() |
Нужно, чтобы в программе при движении мыши вызывался:
В конструкторе класса вызываю
Но событие по прежнему ловится только при нажатой кнопке. Если у центрального виджета вызвать этот же метод - ситуация та же. Что не так? |
|
|
![]() |
Litkevich Yuriy |
![]()
Сообщение
#2
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
NordWest, проверь как работает пример %QTDIR%\examples\widgets\scribble
измени файл scribblearea.cpp в конце конструктора добавь строку: setMouseTracking ( true); А в функции void ScribbleArea::mouseMoveEvent(QMouseEvent *event), закоментируй строчку условия, чтобы осталась только функция drawLineTo(event->pos()); собери и посмотри, должно рисоватся без участия кнопки мыши. |
|
|
NordWest |
![]()
Сообщение
#3
|
Студент ![]() Группа: Участник Сообщений: 86 Регистрация: 26.11.2008 Пользователь №: 433 Спасибо сказали: 1 раз(а) Репутация: ![]() ![]() ![]() |
NordWest, проверь как работает пример %QTDIR%\examples\widgets\scribble измени файл scribblearea.cpp Ну да, работает. И у меня вызывается, если mouseMoveEvent() центрального виджета MainWindow вызывать, а не MainWindow(). Мне бы подошло, но информацию о положении мыши надо выдавать в строку состояния, а как я это сделаю из под виджета?.. Таким образом пропиши:
Таким образом всё работает двояко. Если я создаю метод mouseMoveEvent (переопределяю наверное) в классе центрального виджета, то происходит следующее. При движении мышки над центральным виджетом (картинка) трэкинг не работает, но mouseMoveEvent вызывается, тот что в классе центрального виджета. Если его не определять, то вызывается mouseMoveEvent у MainWindow и только с нажатием кнопки, т.е. без трэкинга. При этом, при движении мыши над окном вне центрального виджета, трэкинг работает и координаты мышки выводятся в строку состояния. |
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 25.2.2025, 17:50 |