Qt3到Qt4更新后的QMouseEvent不再正常响应

时间:2012-10-22 14:41:33

标签: button qt4 mouseevent qt3

我正在使用大型多文件Qt接口,并且已经从Qt3到Qt4更新了多个部分。不幸的是,在沿线的某处,通过按下不同的鼠标按钮组合,我移除了移动(平移,旋转等)中央QGLWidget场景的能力。我对原始鼠标事件所做的更改是

的内容

OLD:

 if(e->state() & Qt::ControlButton){ /*... do things  */ }

新:

if(e->buttons() & Qt::ControlModifier){ /*... do things  */ }

我也试过在新版本中使用e->button(),但无济于事;原本应该用鼠标发生的东西就不再存在了。在用户指南中,我看到旧的state()函数在生成事件之前立即返回按钮状态,而buttons()之后立即返回状态,然而,这是推荐的替代品(我不太了解这些东西的时间,所以我不知道它会产生多大的差异)。

无论如何,我注意到当我运行程序时,我收到消息QWidget::insert action: Attempt to insert null action。这可能与鼠标事件相关(这是我的第一直觉)吗?

如果是这样,我该怎么办鼠标呢?如果没有,它无论如何都必须修复,所以我想知道:有没有办法追溯导致问题的小部件/动作?

0 个答案:

没有答案