因为 QToolTip 自定义样式不大方便而且半透明也没法设置,所以需要自定义而且,Qt 中的顶层 widget 好像默认是不支持透明样式的可以设置:
这样顶层窗口是透明了,但是样式表又沒效果了虽然可以用 QStyleOption 获取到样式表设置的颜色等信息,然后在 paintqt什么时候进showeventt 中绘制但是图片我不知道怎么获取 。索性就嵌套了两个 widget 给裏层的 widget 设置样式。
目前的实现是相对 widget 固定位置 show 的没有处理鼠标移动事件。
弹出的时候因为我是先计算的位置再 show 可能大小还没计算出来,所以在 resizeqt什么时候进showeventt 中重新调用了计算位置的函数
(目前没有条件测试多屏幕时弹出的位置,先不写了)
对于设置样式表目前只能通過 qApp 或者直接给实例对象设置。
* @details 顶层设置透明后样式表失效了,所以我在里面套了一层label * 本来想外层也用QLabelshow时内层label把属性设置为外层的,感覺没必要 //默认显示为point的左上角通过属性设置偏移,以右下角为起点左减右加,上减下加 //独立的窗口不设置parent样式表可用qApp设置 //设置锚定窗口,鼠标放上去时显示tooltip //显示tip在点的左上角 //外层设置背景透明后样式不生效所以嵌套了一层 //默认显示为point的左上角,通过属性设置偏移 //以祐下角为起点左减右加,上减下加 //没有动态样式的处理可自行添加 //如果是随窗口关闭的,看不到析构的打印难道此时事件循环已停圵? //直接用size+point得到的位置可能显示不全这里计算下 //要考虑多个显示器情况,【待测试】 //根据当前所在屏幕尺寸计算 //初次show的时候可能size可能还沒计算好 /*配合样式表设置tab背景*/