有关鼠标事件以及成员函数hovered的冲突情况记录
一个chartView界面中,需要同时使用到两个不同的事件,一个是鼠标的mouseMoveEvent事件,另一个是线条上的hovered悬浮事件仅使用mouseMoveEvent事件无法准确判断点的位置,但是通过chartView中的成员函数hovered就可以直接获取到点的位置信息。两个事件又同时都会响应鼠标移动事件,就导致hovered事件被mouseMoveEvent事件拦截,没有任何作用。
要解决hovered被拦截的情况,要先知道两个事件,一定是mouseMoveEvent的优先级更高,那么就可以将mouseMoveEvent事件直接传递到父类,直接让父类MouseEvent来处理,这样chartView就可以接收到hovered事件了,两个事件没有发生冲突情况。
小知识点记录:
程序中的运算有一个小的规则,就是一个算式中包含除法的话,那么一定要把除法想办法放到最后再运算,尝试过多次后发现,只有把除法放到最后运算,结果获取才较为准确。原因是先算除法的话,会有一个默认的丢失精度的情况,不管变量的数据类型怎么定义,一定是会在先丢失精度的情况下再进行剩余的运算的,这样得到的结果就会与想要的数字有特别大的差异。