Ich versuche eine Hover-Funktion zu implementieren, wo ich das Element neu streiche, wenn ich bestimmte Bereiche auf meinem Objekt schwebe.MausMoveEvent nicht erhalten, ohne die Maustaste gedrückt zu halten
class TestItem : public QQuickItem
{
Q_OBJECT
public:
explicit TestItem(QQuickItem *parent = nullptr) : QQuickItem(parent)
{
setAcceptHoverEvents(true);
setAcceptedMouseButtons(Qt::AllButtons);
}
protected:
// QQuickItem interface
void mouseMoveEvent(QMouseEvent *event) Q_DECL_OVERRIDE
{
qDebug() << "mouseMoveEvent()" << event->buttons() << event->x() << event->y();
}
void mousePressEvent(QMouseEvent *event) Q_DECL_OVERRIDE
{
qDebug() << "mousePressEvent()" << event->buttons() << event->x() << event->y();
}
void mouseReleaseEvent(QMouseEvent *event) Q_DECL_OVERRIDE
{
qDebug() << "mouseReleaseEvent()" << event->buttons() << event->x() << event->y();
}
};
jedoch unter Verwendung dieser Klasse I erhalten nicht irgendwelche „mousemove()“ gibt an Klemme, wenn ich den Cursor über mein Element bewegen. Es funktioniert nur, wenn Sie eine Maustaste gedrückt halten.
Wie kann ich das erreichen, ohne den Benutzer dazu zu zwingen, eine Maustaste zu halten?