c++ - QMainWindow 中鼠标的选择性跟踪

标签 c++ qt

我对 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/

相关文章:

c++ - 从MATLAB到C++:MATLAB Coder不支持csvread()

c++ - 为什么 std::atomic<T>::operator= 应该返回一个值而不是引用?

c++ - 如何在 C++ 14 上获取 -nan?

qt - 使用 MSYS2/MinGW 64 从源构建 Qt 5.x - 缺少 ICU unicode header

c++ - 如何使用 std::bind 和 lambda

c++ - Asio 内部线程对用户透明吗?

multithreading - Qt对象-我是否过度使用QMutexLocker?

c++ - 调试自定义小部件

qt - 让qmake默认使用qt5

c++ - 向小部件添加标签