2012-03-09 6 views
1

Я относительно новичок в Qt.Выборочное отслеживание мыши в QMainWindow

Я пишу приложение, в котором я генерирую псевдослучайные числа и ключи, и хотел бы засеять генераторы случайными движениями мыши, захваченными в пределах QMainWindow. Кроме того, я хотел бы иметь возможность отключить и отключить эту функцию, когда пользователь нажимает QButton.

Из того, что я понимаю, я должен использовать connect() и disconnect() для сигнала в QMainWindow, который испускается, когда пользователь перемещает мышь. Это лучший подход?

Моя проблема: я не уверен, к какому сигналу я должен подключиться. Я искал документацию Qt, но не могу найти сигнал, который генерируется при перемещении мыши по QWidget.

ответ

3

Вы должны переопределить void QWidget::mouseMoveEvent (QMouseEvent * event) в своем QMainWindow, чтобы захватить события перемещения мыши. см. http://qt-project.org/doc/qt-4.8/qwidget.html#mouseMoveEvent

Возможно, вы захотите сделать event->ignore() в переопределении, чтобы разрешить распространение события.

Вы также должны включить отслеживание мыши с помощью void setMouseTracking (bool enable), чтобы получить событие перемещения мыши, когда кнопка не нажата. см. http://qt-project.org/doc/qt-4.8/qwidget.html#mouseTracking-prop

Смежные вопросы