我尝试在我的程序中实现,如果鼠标悬停在我的QChartView小部件上,我会返回光标的坐标。
我已经试过了,在小部件上安装了一个事件过滤器
ui->chartView->setMouseTracking(true);
ui->chartView->installEventFilter(this);
然后为鼠标事件编写方法
void MainWindow::mouseMoveEvent(QMouseEvent* event) {
qDebug() << event->pos();
}
但是,我只有在点击主窗口并按住鼠标按钮时才能得到输出。当我点击小部件chartView时,我没有得到任何输出。
当鼠标悬停在图表视图上时,我需要获取输出
1条答案
按热度按时间vuktfyat1#
你不需要事件过滤器,你需要重新实现
QWidget::enterEvent()
和QWidget::leaveEvent()
方法。当鼠标进入小部件时调用
enterEvent()
,当鼠标再次离开小部件时调用leaveEvent()
。