我有一个图形视图,当用户按下控件和鼠标点击时,我已经设置了自己的手动滚动功能。如何禁用滚轮事件的滚动功能QGraphicsView Qt C++
我已经删除了滚动条,但鼠标滚轮仍然滚动,甚至滚动显示在qGraphicsView
中显示的图像,显示空白(白色)空间,而我的手拖动时没有。
我该如何让轮子变成直线,一点都没做?
我知道有我就可以把我的代码,而派生类,因为我问这个曾经前后得到了正确的答案,但取出的答案,我没有救代码:(
功能下面的代码什么也不做,甚至接近预期的功能,在启动时,我得到鼠标仍然做一些消息,然后点击和滚轮事件的一切都只是显示了第二个消息......这样啊不工作
bool GUI::eventFilter(QObject *object, QEvent *event)
{
if (object == ui->graphicsView && event->type() == QEvent::GraphicsSceneWheel)
{
std::cout << "Wheel Blocked";
return true;
}
std::cout << "Mouse Wheel still doing something";
return false;
}
然后这段代码安装过滤器
ui->graphicsView->installEventFilter(this);
你是如何在没有派生类的情况下实现自定义拖动的? – ypnos 2013-04-29 12:54:14
增加了一些代码来回答你的问题 – AngryDuck 2013-04-29 12:56:48
在此期间有人已经给出了正确的答案,我花了upvote。顺便说一句。从您的代码示例中,我看不到您覆盖哪个对象的mouseEvent()。正如你所说,你没有派生类。 – ypnos 2013-04-29 13:16:49