我对Qt比较陌生。在QMainWindow中选择性跟踪鼠标
我正在写一个应用程序,我正在生成一个伪随机数字和键,我想用QMainWindow
中捕获的随机鼠标移动种子发生器。此外,我希望能够在用户按下QButton
时关闭此功能。
从我的理解我应该能够使用connect()
和disconnect()
到QMainWindow
当用户移动鼠标时发出的信号。这是最好的方法吗?
我的问题是我不知道我应该连接到什么信号。我搜索了Qt文档,但找不到在鼠标移过QWidget
时产生的信号。
我对Qt比较陌生。在QMainWindow中选择性跟踪鼠标
我正在写一个应用程序,我正在生成一个伪随机数字和键,我想用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