QtQuick/Qml自定义控件(1)-ToolTip

首先我们看看官方提供的QtQuick.Controls 2.x TooltipTooltip
效果是怎么样的
QtQuick/Qml自定义控件(1)-ToolTip_第1张图片
QtQuick/Qml自定义控件(1)-ToolTip_第2张图片

看起来还是挺好用的 也很方便 然后我们再看来看看特殊的情况
我们将窗体大小缩小后
QtQuick/Qml自定义控件(1)-ToolTip_第3张图片
很明显 Tooltip的文字描述长度超过窗体右边边界时 无法正常显示了.
我们在看看边界的情况
正常关闭按钮的Tooltip:
在这里插入图片描述
QtQuick2.x默认Tooltip:
QtQuick/Qml自定义控件(1)-ToolTip_第4张图片
虽然显示是完整的, 但是内容是在窗体内的, 位置是不同的

上面两个问题的原因很简单, Tooltip继承于Popup, 不属于独立窗体.
为此我决定自定义开发一个QtQuick方式的Tooltip

首先Tooltip应该是基于独立窗体的, 并且因为要考虑资源占用问题, 所以最好是单例模式, 就是说始终只存在一个ToolTip的实例.
ToolTip有两大重要属性, 一是延时启动, 二是延时消失, 这两个当然是需要可设置的
QtQuick/Qml自定义控件(1)-ToolTip_第5张图片

同样, SilkQmlToolTip也需要有同样的功能
QtQuick/Qml自定义控件(1)-ToolTip_第6张图片

在这里插入图片描述
结果是预期的: 1秒显示 5秒隐藏 当然鼠标移开也是立即隐藏的
我们又在三峰驼演示程序里看看效果

在这里插入图片描述
关闭按钮的ToolTip可以在窗体外正常显示
QtQuick/Qml自定义控件(1)-ToolTip_第7张图片
三峰驼演示程序里的效果也是正常.

访问三峰驼Qml控件大全

仅此文章的功能

联系方式:


作者 郑天佐
QQ 278969898
主页 http://www.camelstudio.cn/
邮箱 [email protected]
博客 http://blog.csdn.net/zhengtianzuo06/
github https://github.com/zhengtianzuo
QQ群 199672080

捐赠

觉得分享的内容还不错, 就请作者喝杯咖啡吧~~

你可能感兴趣的:(Silk)