How to know if I'm showing a tooltip?
John Tapsell
johnflux at gmail.com
Fri Mar 18 11:24:05 GMT 2011
Hi all,
When the user hovers over an item, it shows a tooltip. I update
that tooltip once a second using the following code:
if(QToolTip::isVisible()) {
QWidget *w = d->mUi->treeView->viewport();
if(w->geometry().contains(d->mUi->treeView->mapFromGlobal(
QCursor::pos() ))) {
QHelpEvent event(QEvent::ToolTip, w->mapFromGlobal(
QCursor::pos() ), QCursor::pos());
qApp->notify(w, &event);
}
}
This works, but the trouble is is that the tooltip could be visible
due to a dialog window. So if I open a dialog box, then hover over an
item in that dialog box, it shows the correct tooltip for a moment,
then changes to the tooltip for the main window underneath, due to
that code I pasted above.
I've tried && window()->isActiveWindow() which partially solves the
problem, but it's possible to have a dialog box on top, but have the
main window have the focus..
Any ideas?
JohnFlux
More information about the kde-core-devel
mailing list