QToolTip類的應用十分簡單,其QToolTip類中全都是靜態方法,若是要顯示浮動信息的話使用該函數便可:ide
void QToolTip::showText ( const QPoint & pos, const QString & text, QWidget * w = 0 ); [static]函數
參看Qt例子,$(QTDIR)\examples\widgets\tooltips能夠輕鬆寫出顯示浮動信息程序。經過在虛函數 bool event(QEvent *event) 中,驗證 QEvent::ToolTip 事件便可實現。spa
而今天在作程序的時候使用的是在視圖中顯示浮動信息,因爲視圖帶拖動條,當使用拖動條後,因爲座標信息錯誤而沒法正常顯示浮動信息,其實很好解決,寫完之後沒啥事幹,特把這個加到博客上,實現代碼以下,嘻嘻~.net
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());orm// itemAt(const QPoint &point); 這裏隨便寫的一個函數,經過座標的獲得視圖中的項信息
int index = itemAt(point);
if (index != -1) {
QString strToolTip;
...
QToolTip::showText(helpEvent->globalPos(), strToolTip);
}
else
QToolTip::hideText();blog
return QWidget::event(event);
}事件
最後來個程序貼圖,展示一下成果:ip
http://cool.worm.blog.163.com/blog/static/6433900620095156026302/get