Russian Qt Forum

Qt => 2D и 3D графика => Тема начата: Zer от Июль 12, 2005, 17:21



Название: перемещение мыши над QCanvasView
Отправлено: Zer от Июль 12, 2005, 17:21
Здравствуйте, возникла следующая проблема - у QCanvasView
метод contentsMouseMoveEvent( QMouseEvent* ) вызывается только при нажатой кнопке мыши, хотя в конструкторе был вызван     setMouseTracking(true). Как сделать так, чтобы перемещение отлавливалось без зажатой кнопки?


Название: перемещение мыши над QCanvasView
Отправлено: Zer от Июль 13, 2005, 11:33
Откомпилировал проект под линуксом - все работает. в win так и не разобрался в чем дело.


Название: перемещение мыши над QCanvasView
Отправлено: Zer от Июль 13, 2005, 13:24
Все, проблама решена, как оказалось нужно было вызвать вот что:
qApp->setGlobalMouseTracking(true);

И все же неясно, почему под линуксом все работает, без qApp->setGlobalMouseTracking(true); достаточно было в конструкторе QCanvasView прописать setMouseTracking(true)


Название: перемещение мыши над QCanvasView
Отправлено: Hellenna от Июль 13, 2005, 22:15
Цитата: "Zer"


И все же неясно, почему под линуксом все работает

у меня под линуксом без setMouseTracking(true) не работало. может дело в версии? :roll:


Название: перемещение мыши над QCanvasView
Отправлено: Zer от Июль 14, 2005, 08:56
Цитата: "Hellenna"
Цитата: "Zer"


И все же неясно, почему под линуксом все работает

у меня под линуксом без setMouseTracking(true) не работало. может дело в версии? :roll:


Под линуксом работает если вызвать setMouseTracking(true) у QCanvasView (например в конструкторе). А под windows это не помогает, нужно вызывать qApp->setGlobalMouseTracking(true); Версия QT - 3.3.4