Seite 1 von 1

[gelöst] Kann man Events erweitern?

Verfasst: 22. September 2005 19:41
von pumbah
Hallo,

ich frage mich, ob man Events nur überschreiben oder auch erweitern kann. Wenn man eine Klasse erstellt kann man sie ja mühelos erweitern (ihr neue Funtionalität hinzufügen) indem man einfach weite Funktionen hinzufügt.

Wie sieht das aber z.B. mit Events aus? Nehmen wir z.B. den

void QWidget::keyPressEvent ( QKeyEvent * e )

Dieser Event hat in QTable viele Funktionen die ich behalten möchte. Gleichzeitig würde ich aber gerne weite Funktionen hinzufügen. Muss ich da den Originalcode kopieren und erweitern? Oder gibt es da noch andere Möglichkeiten?

cu,

pumbah

Verfasst: 22. September 2005 20:04
von FlorianBecker
Definition

Code: Alles auswählen

class MyWidget : public QWidget {

  protected:
    void keyPressEvent( QKeyEvent *event );
};
Code, damit du alle Funktionen übernimmst:

Code: Alles auswählen

void MyWidget::keyPressEvent( QKeyEvent *event ) {

  // Hier deine Dinge, die du machen willst.
  QWidget::keyPressEvent( event ); // Und jetzt übernimm, was nicht schon früher abgehandelt wurde in QTable mit.
}

Verfasst: 23. September 2005 11:00
von klogg
In der Dokumentation gibt es unter

All Overviews and HOWTOs -> Events and Event Filters

einige Erklärungen zu dem Thema.

HENNING

Verfasst: 23. September 2005 20:21
von pumbah
Danke, für Deine Hilfe. Da bin ich nicht drauf gekommen! :)

cu,

pumbah