Doppelklick auf Label abfangen?

Alles rund um die Programmierung mit Qt
Antworten
qtp
Beiträge: 62
Registriert: 12. Februar 2007 19:37
Kontaktdaten:

Doppelklick auf Label abfangen?

Beitrag von qtp »

Hy,

wie fange ich ein Doppelklick auf ein Label ab?
Ich hab schon mit "mouseDoubleClickEvent" rumprobiert, aber da kann ich immer nur die Doppelklicks im gesamten Fenster abfangen!

Code: Alles auswählen

void Form::mouseDoubleClickEvent(QMouseEvent *event)
{
    ...
}
caligano
Beiträge: 126
Registriert: 19. August 2006 15:33

Beitrag von caligano »

Du musst eine Subclass MyLabel von QLabel erstellen.
Dann kannst du z.B. ein eigenes Signal doubleClicked() aussenden:

Code: Alles auswählen

void MyLabel::mouseDoubleClickEvent( QMouseEvent *e ) {
	emit doubleClicked();
}
dhcase
Beiträge: 132
Registriert: 10. Juni 2006 20:38

Beitrag von dhcase »

Code: Alles auswählen

void Form::mousePressEvent( QMouseEvent *e )
{

	if (e->type() == QEvent::MouseButtonDblClick) 
	{
		QPoint pos = e->pos();
		QRect rect = QRect(ui.lable->pos(), ui.label->size());
		if (rect.contains(pos)) {
			// mach was
		}
		e->accept();
	}
}
qtp
Beiträge: 62
Registriert: 12. Februar 2007 19:37
Kontaktdaten:

Beitrag von qtp »

perfekt, funktioniert. Danke!
Antworten