我对Qt比较陌生。
我正在编写一个应用程序,我正在生成一个伪随机数和密钥,我想在QMainWindow
内捕获随机鼠标移动来生成生成器。此外,我希望能够在用户按下QButton
时关闭此功能。
根据我的理解,我应该能够将connect()
和disconnect()
用于QMainWindow
中用户移动鼠标时发出的信号。这是最好的方法吗?
我的问题是我不确定我应该连接什么信号。我搜索了Qt文档,但找不到鼠标移动到QWidget
时生成的信号。
答案 0 :(得分: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