Qt通过QToolTip显示浮动信息
2016-08-09 20:14
253 查看
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);
}
最后来个程序贴图,展现一下成果:
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);
}
最后来个程序贴图,展现一下成果:
相关文章推荐
- Qt QToolTip详解
- QT5.7 VS2013 Echarts
- Qt使用第三方类打开串口号10以上的失败问题解决方法
- QT installEventFilter 快捷键的设计
- qt写DLL文件并调用和出现的问题分析
- Qt之自定义控件(开关按钮)
- Qt之自定义控件(开关按钮)
- Qt之自定义控件(开关按钮)
- error LNK2026: module unsafe for SAFESEH image. E:\myproject\hellocpp\ffmpeg_qt\avformat.li
- Qt学习之路_9(Qt中Item Widget初步探索)
- Qt学习之路(17): Qt标准对话框之QMessageBox
- QT全局宏变量的实现
- 关于QT UDP组播的两个问题
- 在qt中使用libcef
- Apollo的简单配置使用(windows环境)
- 大量的QT控件及示例发放
- QT的信号与槽机制介绍
- QTimer类参考
- Bootstrap轮播(carousel)插件中图片变形的终极解决方案——使用jqthumb.js
- QT modbus类简介及串口modbus例程源码分析