Mousetracking in MdiSubwindow

Alles rund um die Programmierung mit Qt
Antworten
krisztian
Beiträge: 8
Registriert: 24. Dezember 2010 17:20

Mousetracking in MdiSubwindow

Beitrag von krisztian »

Hallo,

meine Applikation ist so aufgebaut, dass im Main Window ein Mdi-Area liegt. Dieses beinhaltet ein Subwindow in dem ein eigenes Widget (clsIP) angezeigt wird.

Für dieses Widget würde ich mir gern die Maus Koordinaten anzeigen lassen.
Der Code sieht so aus:

Code: Alles auswählen

mdi = new QMdiArea(this);
clsIP = new imagepresenter(mdi);
sw = mdi->addSubWindow(clsIP,Qt::Dialog);

setCentralWidget(mdi);

setMouseTracking(true);
mdi->setMouseTracking(true);
	
mdi->viewport()->setMouseTracking(true);
sw->setMouseTracking(true);
clsIP->setMouseTracking(true);
Nun werden mir aber die Mauskoordinaten nur für das Mdi-Area angezeigt. Hab ich irgendwo vergessen MouseTracking zu setzen. Hab ich es irgendwo zu viel?

Würde mich über Hilfe sehr freuen.

Grüße
krisztian
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Und wie werden die Maus-Koordinaten abgefragt?
krisztian
Beiträge: 8
Registriert: 24. Dezember 2010 17:20

Beitrag von krisztian »

upsala hat geschrieben:Und wie werden die Maus-Koordinaten abgefragt?
Ich greife das MouseMoveEvent meines Hauptfensters ab:

Code: Alles auswählen

protected:
	virtual void mouseMoveEvent(QMouseEvent* event);

Code: Alles auswählen

void mainWindow::mouseMoveEvent(QMouseEvent* event)
{
	QString posX=QString::number(event->x());
	QString posY=QString::number(event->y());
	lblMousePosition->setText("X: " + posX + " / Y: " + posY );
}
Das Ganze wird dann in der Statusbar über obiges Label ausgegeben.
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Dieser Code gehört in das Widget, von dem man die Maus-Koordinaten wissen will. Den Status-Text könnte man per Signal weitergeben.

Event. wäre der Event-Filter noch eine Idee.
krisztian
Beiträge: 8
Registriert: 24. Dezember 2010 17:20

Beitrag von krisztian »

Danke (auch für die schnelle Hilfe).
Hab mir schon beinahe sowas gedacht.
Werds mal umsetzen und mir auch die EventFilter mal anschauen.

Grüße
krisztian
Antworten