Выборочное отслеживание мыши в QMainWindow - PullRequest
1 голос
/ 09 марта 2012

Я относительно новичок в Qt.

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

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

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

1 Ответ

3 голосов
/ 09 марта 2012

Вы должны переопределить 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...