我对 Qt 比较陌生。
我正在编写一个应用程序,我在其中生成伪随机数和 key ,我想用 QMainWindow
中捕获的随机鼠标移动来为生成器播种。此外,我希望能够在用户按下 QButton
时关闭和打开此功能。
据我所知,我应该能够将 connect()
和 disconnect()
用于 QMainWindow
中发出的信号用户移动鼠标。这是最好的方法吗?
我的问题是我不确定应该连接到什么信号。我搜索了 Qt 文档,但找不到当鼠标移到 QWidget
上时生成的信号。
最佳答案
您必须在 QMainWindow
中覆盖 void QWidget::mouseMoveEvent ( QMouseEvent * event )
以捕获鼠标移动事件。见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
关于c++ - QMainWindow 中鼠标的选择性跟踪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9627746/