【发布时间】:2011-11-20 05:39:04
【问题描述】:
当您从模型中获得鼠标信号到您的插槽时,传递的参数是 QModelIndex。
QModelIndex 不会告诉你按下了什么按钮。所以,我们可以求助于 QApplication::mouseButtons。但 QApplication::mouseButtons 是当前按钮按下,而不是模型经历点击时。
我的思想实验是说,在按下右键后,底层视图将信号发送到我的小部件,但就在我的小部件插槽接收到信号之前,发生了虚假的左键单击。因此,在收到 QModelIndex 时调用 QApplication::mouseButtons 会错误地将正在单击的行与鼠标左键而不是右键相关联。这种情况怎么可能?
当您查看 Qt 甚至 QML 时,需要大量代码杂技才能在收到 QModelIndex 时获得正确的鼠标按钮信息。诺基亚力求推广鼠标按钮不可知论是一项政策吗?
【问题讨论】: