MouseMoveEvent wird nicht ausgelöst

Alles rund um die Programmierung mit Qt
Antworten
Neuling_
Beiträge: 83
Registriert: 8. August 2009 20:55

MouseMoveEvent wird nicht ausgelöst

Beitrag von Neuling_ »

Hallo,

mein MouseMoveEvent wird bei mir nicht ausgelöst :(
Hier mal der Code:

mainwindow.h

Code: Alles auswählen

...
protected:
virtual void mouseMoveEvent(QMouseEvent *event);
int xpos, ypos;
...
mainwindow.cpp

Code: Alles auswählen

...
void mainwindow::mouseMoveEvent(QMouseEvent *event)
{
    xpos = (event->pos().x());
    ypos = (event->pos().y());
}
...
rufe ich dann das closeEvent ab (das funktioniert!)

Code: Alles auswählen

void mainwindow::closeEvent (QCloseEvent *closeEvent)
{
   
    QMessageBox test;
    test.setText(QString::number(xpos));
    test.exec();
}
gibt mir die MessageBox folgenden Wert an: 2293248
also ob ich "xpos" garnicht verändern würde.

Hoffentlich kann mir jemand weiterhelfen.
Muss ich eine bestimmte Datei inkludieren?

Gruß

Edit:
Qt4-Gui-Anwendung
Qt 2009.05
Entw.-umgebung Qt-Creator
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Aus der Doku:
If mouse tracking is switched off, mouse move events only occur if a mouse button is pressed while the mouse is being moved. If mouse tracking is switched on, mouse move events occur even if no mouse button is pressed.
Neuling_
Beiträge: 83
Registriert: 8. August 2009 20:55

Beitrag von Neuling_ »

Danke erstmal für die Mühe.
Dem wollte ich schon mit:

Code: Alles auswählen

setMouseTracking(true);
(in der mainwindow())
entgegenkommen.
Scheint wohl nicht zu stimmen.

Wenn ich es draußen habe passiert aber auch nichts wenn ich eine Maustaste drücke :/
Davon abgesehen, dass ich ja durch das bestätigen der 'X'-Taste einen Button drücke.

Gruß
Qt 2009.05
Entw.-umgebung Qt-Creator
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Was meinst du mit draußen? Die ganzen Maus-Ereignisse funktionieren nur innerhalb der Widgets.

Was hast du überhaupt vor?
Neuling_
Beiträge: 83
Registriert: 8. August 2009 20:55

Beitrag von Neuling_ »

wen ich es draußen habe =
setMouseTracking(true);

was ich machen möchte: mausposition speichern
Qt 2009.05
Entw.-umgebung Qt-Creator
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Suchst du vielleicht das?

Code: Alles auswählen

QPoint QCursor::pos () 
Neuling_
Beiträge: 83
Registriert: 8. August 2009 20:55

Beitrag von Neuling_ »

Hallo,
die Antwort mag etwas spät kommen aber ich habe mir vorgenommen mich später damit zu befassen:

Ich habe (ganz simpel!) vergessen, dass QMouseEvent zu inkludieren :D
Aber danke für deine Beiträge upsala.

Freundliche Grüße
Qt 2009.05
Entw.-umgebung Qt-Creator
Antworten