Alles rund um die Programmierung mit Qt
qtp
Beiträge: 62 Registriert: 12. Februar 2007 19:37
Kontaktdaten:
Beitrag
von qtp » 23. September 2007 14:51
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 » 23. September 2007 15:13
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 » 23. September 2007 15:17
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 » 24. September 2007 09:46
perfekt, funktioniert. Danke!