MouseMoveEvent und setMouseTracking

Alles rund um die Programmierung mit Qt
Antworten
Pixtar
Beiträge: 97
Registriert: 5. Mai 2010 15:32

MouseMoveEvent und setMouseTracking

Beitrag von Pixtar »

Hallo Leute,

habe gerade die SuFu benutzt, kommt aber nichts bei herum.

Ich habe eine Klasse von QWidget abgeleitet, im Konstruktor das setMouseTracking(true); gesetzt und das mouseMoveEvent(QMouseEvent * event); überschrieben.
Weiterhin sind die Includes eingebunden .. <QMouseEvent>,<QWidget>

Code: Alles auswählen

void TestWidget::mouseMoveEvent(QMouseEvent *event){
    QMessageBox::warning(this,tr("Info"),"x="QString::number(event->pos.x()),tr("OK"));
}
Die MessageBox erscheint NUR wenn ich das Widget per Maus an der rechten oder unteren Kante verlasse!!!

Habe ich etwas übersehen???

Ich möchte einfach nur, dass ich über das Widget mit der Maus fahre und die MessageBox immer wieder aufpoppt, ohne zu klicken ...

Grüße Pixtar
danielp1000
Beiträge: 8
Registriert: 24. Mai 2010 18:41

Beitrag von danielp1000 »

Versuch mal das mouseMoveEvent des parent widgets zu überschreiben:

Code: Alles auswählen

void parentWidget::mouseMoveEvent(QMouseEvent *event)
{
 if(qobject_cast<TestWidget*>(childAt(event->pos()))
     QMessageBox::information(this,tr("Info"),"x="QString::number(event->pos.x()),tr("OK"));
}
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Zum einen enthält der Code einige Fehler, kann also nicht einmal kompiliert werden, zum anderen wäre der komplette Code nicht schlecht, da es an sich funktionieren müsste.
Antworten