Qt之QToolTip 解决控件切换时ToolTip刷新区域问题(有残留)

简述

        当控件中的文字过长时不宜直接显示,因为会占用很大的空间,QToolTip是一个很好用的提示控件,但是最近使用缺发现了一个问题,虽然解决了但是却不知道是什么问题导致的;

        首先Arm平台下使用的是Qt5.x版本的,在使用过程中发现:当鼠标移动到一个控件上触发ToolTip事件时显示帮助提示,这时候立马把鼠标移动到另外一个控件上,虽然移动到当前的控件也会触发ToolTip事件显示新的帮助提示,但是却会导致之前显示的提示刷新区域出了问题刷新不完整;

效果

代码

        提示要显示,首先会触发ToolTip事件,然后触发ChildAdded,最后触发ChildPolished,这时候会抓到要提示的控件A跟提示控件T,当提示超时后会自销毁然后触发ChildRemoved事件,这时候都是正常的;但是如果一个控件A上的ToolTip正显示时,突然移动到另外一个控件B,就只会触发ToolTip事件,没有ChildAdded和ChildPolished事件,因为这时候控件B是借用控件A的提示控件T,所以当鼠标从控件A离开的时候先记录提示控件T的全局坐标位置,等到鼠标进入控件B时,先把全局坐标转

你可能感兴趣的:(Qt,qt,QToolTip)