[quote author="Andre" date="1322395645"]@
class MouseOverTracker: public QObject
{
Q_OBJECT
public:
MouseOverTracker(QObject* parent = 0);
bool eventFilter(QObject* object, QEvent* event);
QWidget* currentHoverWidget() {return m_currentWidget;}
private:
QWidget* m_currentWidget;
}
MouseOverTracker::MouseOverTracker()
: QObject(parent), m_currentWidget(0)
{
qApp->installEventFilter(this);
}
bool MouseOverTracker::eventFilter(QObject* object, QEvent* event)
{
if (!event || !object)
return false;
if (event->type() == QEvent::Enter) {
m_currentWidget = qobject_cast<QWidget*>(sender);
} else if (event->type() == QEvent::Leave) {
if (m_currentWidget == object)
m_currentWidget = 0;
}
return false;
}
@
Note: not tested, directly typed into forum editor.
You should be able to get your current widget by creating an instance of the class, and calling currentWidget() on it.[/quote]
thank you