bool MyDlg::eventFilter(QObject *obj, QEvent *ev)
{
if(QString::compare(obj->metaObject()->className(),"QDoubleSpinBox") == 0 ) {
if( ev->type() == QEvent::MouseButtonPress ) {
QMouseEvent* me = static_cast<QMouseEvent*>(ev);
if( me->button() == Qt::LeftButton)
qDebug() << "links";
if( me->button() == Qt::RightButton)
qDebug() << "rechts";
return QObject::eventFilter(obj,ev);
} else {
return false;
}
} else {
// pass the event on to the parent class
return QObject::eventFilter(obj, ev);
}
}
Verhalten des Programms: Es werden nur die Klicks abgefangen, die auf die Pfeil oben/ Pfeil unten - Widgets gehen, die Klicks auf das QLineEdit bleiben unbehandelt. Gerade auf die bin ich aber scharf
Irgendwer ne Idee?
Viele Grüße,
Flachkoepper
Zuletzt geändert von Flachkoepper am 12. April 2007 13:35, insgesamt 1-mal geändert.
Vielleicht könnt ihr mir ein wenig auf die Sprünge helfen? Ich sehe nicht, wie ich aus meinem Dlg an das LineEdit komme, ohne mir eine eigene DoubleSpinBox abzuleiten.
Dann leite es halt ab. Das ist weniger Code als in diesem Thread bereits schrieben wurde. Die andere Möglichkeit wäre noch über QObject::findChildren(...).