QToolTip类的应用十分简单,其QToolTip类中全都是静态方法,如果要显示浮动信息的话使用该函数即可:

void QToolTip::showText ( const QPoint & pos, const QString & text, QWidget * w = 0 );    [static]

参看Qt例子,$(QTDIR)\examples\widgets\tooltips可以轻松写出显示浮动信息程序。通过在虚函数 bool event(QEvent *event) 中,验证 QEvent::ToolTip 事件即可实现。

而今天在做程序的时候使用的是在视图中显示浮动信息,由于视图带拖动条,当使用拖动条后,由于坐标信息错误而无法正常显示浮动信息,其实很好解决,写完以后没啥事干,特把这个加到博客上,实现代码如下,嘻嘻~

bool QXXXView::event(QEvent *event)
{
    if (event->type() == QEvent::ToolTip) {
    QHelpEvent *helpEvent = static_cast<QHelpEvent *>(event);
  
    QPoint p = helpEvent->pos();
    // 获取水平拖动条
    QScrollBar* pHorizontalScrollBar = horizontalScrollBar ();
    // 获取垂直拖动条
    QScrollBar* pVerticalScrollBar = verticalScrollBar ();
    // 拖过滚动条得到视图中鼠标点坐标
    QPoint point(pHorizontalScrollBar->value() + p.x(), pVerticalScrollBar->value() + p.y());

// itemAt(const QPoint &point); 这里随便写的一个函数,通过坐标的得到视图中的项信息
    int index = itemAt(point);
    if (index != -1) {
       QString strToolTip;
       ...
       QToolTip::showText(helpEvent->globalPos(), strToolTip);
    }
    else
       QToolTip::hideText();

return QWidget::event(event);    
}

最后来个程序贴图,展现一下成果:

http://cool.worm.blog.163.com/blog/static/6433900620095156026302/

Qt通过QToolTip显示浮动信息的更多相关文章

  1. Qt自适应大小显示图片,添加菜单

    由于后面的图像处理需要UI,OpenCV自带也不怎么会,MFC实在懒得学的.听同学说Qt不错,就用Qt做UI了. 本文主要介绍三个内容:在Qt Creator中使用OpenCV2.Qt中自适应显示图片 ...

  2. PHP通过ini_set()来设置显示错误信息和执行时间

    PHP的 ini_set函数是设置选项中的值,在执行函数后生效,脚本结束的时候,这个设置也失效.不是所有的选项都能被改函数设置的.具体那些值能够设置,可以查看手册中的列表. 就是能够设置php.ini ...

  3. [WPF]TextTrimming截断后,ToolTip显示完整信息

    文本过长被截断后,用ToolTip显示完整信息. 文本未被截断,则不显示ToolTip. 值转换器: public class TrimmedTextBlockVisibilityConverter ...

  4. net发布的dll方法和类显示注释信息(字段说明信息)[图解]

    自己发布的dll添加的另一个项目中突然没有字段说明信息了,给使用带来了很多的不便,原因是为了跨项目引用,所以导致不显示注释信息的,一下是解决这个问题的方法. 在要发布(被引用)的项目上右键 => ...

  5. Sharepoint2013:在页面上显示错误信息

    在sharepoint2013中我们需要修改以下三处的web.config,以显示错误信息 1, C:\inetpub\wwwroot\wss\VirtualDirectories\端口号\web.c ...

  6. 在ASP.NET 5中显示错误信息

    在 ASP.NET 5 中如果不进行显示错误信息的相关配置,在发生错误时,在浏览器中只能看到空白页面. 显示错误信息的配置方法如下: 1)在 project.json 中添加对 Microsoft.A ...

  7. AngularJS 表单提交后显示验证信息与失焦后显示验证信息

    虽然说AngularJS的实时表单验证非常有用,非常高效方便,但是当用户还没有完成输入时便弹出一个错误提示,这种体验是非常糟糕的. 正常的表单验证逻辑应该是在用户提交表单后或完成当前字段中的输入后,再 ...

  8. linux dmesg命令参数及用法详解(linux显示开机信息命令)

    linux dmesg命令参数及用法详解(linux显示开机信息命令) http://blog.csdn.net/zhongyhc/article/details/8909905 功能说明:显示开机信 ...

  9. 任务管理界面添加显示RAM信息

    显示RAM信息的核心代码是大蛋的,我只不过是整理下教程而已! 大蛋应该不会介意的吧,首先你需要apktool和SystemUI.apk,framework-res.apk 然后开始加载框架和反编译.. ...

随机推荐

  1. redis的相关知识

    1. 依赖包安装 pom.xml 加入: <!-- redis cache related.....start --> <dependency> <groupId> ...

  2. 2016.5.27 PHP连接数据库与查询

    提示mysql_query() expects parameter 2 to be resource, null given in 错误是因为你没有连接数据库就进行了查询,正常的程序应该这样写: fu ...

  3. 常见的文件上传方法有哪些?Ajax文件上传原理是什么?

    Ajaxfileupload,Ajaxupload,JqueryUploadify无刷新式的文件上传,在一个页面里嵌入一个Iframe,然后在Iframe使用原生的Post表单提交.

  4. BZOJ3641 : 货车运输

    若一条边的v小于等于u,则贡献为l*w/v,否则贡献为l*w/u 将边按v从小到大排序,将询问按u从小到大排序 用树链剖分维护链上和,val[0]表示第一种情况下的贡献,val[1]表示第二种情况下的 ...

  5. [转]Calling Web Service Functions Asynchronously from a Web Page 异步调用WebServices

    本文转自:http://www.codeproject.com/Articles/70441/Calling-Web-Service-Functions-Asynchronously-from Ove ...

  6. centeros iptable模板文件

    iptables规则是空的.而且他们的selinux是关闭了的,这等同于把系统裸奔(总比windows裸奔好).   使用方法: 1.用root用户登录后 vi /etc/sysconfig/ipta ...

  7. Laravel Eloquent 判断取出的结果集是否为空

    在使用Laravel Eloquent模型时,我们可能要判断取出的结果集是否为空,但我们发现直接使用is_null或empty是无法判段它结果集是否为空的. var_dump之后我们很容易发现,即使取 ...

  8. JavaScript 页面跳转的几种方式 转

    第一种:      <script language="JavaScript" type="text/javascript">         wi ...

  9. 我的Ubuntu系统配置所作的备份记录如下

    Ubuntu无法关机解决办法 说明:如果不成功请参考一下文章最后的内容,也许会有帮助. 其实不止在ubuntu里面,fedora里面我也遇到了这个问题,就是电脑可以重启,但是不能直接关机,否则就一直停 ...

  10. Ruby--Array

    --后面连接其它数组:[ARRAY].concat([OTHER ARRAY]) --排序:sort,进阶:sort_by{|obj| obj.[VALUE]} --随机获取:[ARRAY].samp ...