QCustomEvent -> QEvent

Alles rund um die Programmierung mit Qt
Antworten
freeskydiver
Beiträge: 40
Registriert: 28. Juni 2006 01:05

QCustomEvent -> QEvent

Beitrag von freeskydiver »

Hallöschen ;)
ich hab mir jetzt ein paar samples organisiert ein nettes büchlein ;)
Ok das basiert auf Qt3 ist eigentlich Ok für das Grundverständnis ...
Obiges Problem
im Beispiel wird mit QCustomEvent gearbeitet
ich setze mit Qt4 natüerlich QEvent ein
das funktioniert auch gut ...nur ist die übergabe von
daten ganz weggefallen??
also setData ...
das würde bedeuten ich müsste die übergabe eventbezogener objecte oder daten komplett selbsverwalten?? ...
Das würde ja ein super Feature des QCustomEvents einfach wegfallen lassen?!?!?
ich der Doku steht das dies jetzt in einer für die Application günsten Variante gemacht werden muss ;) nett ;)

ich hab doch bestimmt was überlesen ...
wie macht ihr Qt Profis das? ;)
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Und warumnimmst du nicht auch in Qt4 QCustomEvent?
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
freeskydiver
Beiträge: 40
Registriert: 28. Juni 2006 01:05

Beitrag von freeskydiver »

Christian81 hat geschrieben:Und warumnimmst du nicht auch in Qt4 QCustomEvent?
weil mir das der Compiler angemeckert hat?!
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Hat er das? Warum verschweigst du dann die Fehlermeldung?

Ansonsten wird ja für Qt4 QEvent empfohlen, dann nimm es auch her, so schwer ist das nicht...
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Stimmt, hast recht - habe übersehen dass es nur qt3support ist.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
freeskydiver
Beiträge: 40
Registriert: 28. Juni 2006 01:05

Beitrag von freeskydiver »

upsala hat geschrieben:Hat er das? Warum verschweigst du dann die Fehlermeldung?

Ansonsten wird ja für Qt4 QEvent empfohlen, dann nimm es auch her, so schwer ist das nicht...
nein der Event nicht ...nur kann ich damit keinen pointer auf ein Object mehr mitschicken wie es in dem QCustomEvent mit setData der fall war...
Oder täusche ich mich hier ...wie gesagt bin anfänger in Qt und hab meine Infos bisher nur vom "rumtesten" ...2..3 Tage ;)
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Code: Alles auswählen

class CustomEvent : public QEvent
{
 public:
  CustomEvent(QObject *o=0) : QEvent(QEvent::User), m_obj(o) {};
  
  void setObject(QObject *o) { m_obj=o; };
  QObject object() const { return m_obj; };

private:
  QObject *m_obj;
}
freeskydiver
Beiträge: 40
Registriert: 28. Juni 2006 01:05

Beitrag von freeskydiver »

upsala hat geschrieben:

Code: Alles auswählen

class CustomEvent : public QEvent
{
 public:
  CustomEvent(QObject *o=0) : QEvent(QEvent::User), m_obj(o) {};
  
  void setObject(QObject *o) { m_obj=o; };
  QObject object() const { return m_obj; };

private:
  QObject *m_obj;
}
Danke für deine nette Klasse ...;)
aber das heist ich habe es wirklich richtig gelesen ....die übergabe von objecten im QEvent ist weggefallen? und man sollte es "wieder" selber machen?
Weil ein object "eigentlich" nicht zu einem Event gehört ...und nur ein nice to have ist?
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Es wurden ja eigentlich auch keine Objecte übergeben sondern nur Zeiger darauf. Und angenommen du wolltest nur ein QPoint übergeben mußtest du erst mal mit new den Zeiger darauf erzeugen und dann auch noch darauf achten, daß du später dein delete nicht vergisst. Oder du hast die Klasse gleich abgeleitet, so wie es auch in der Qt3-Doku steht, dann bist du genau soweit wie jetzt.
freeskydiver
Beiträge: 40
Registriert: 28. Juni 2006 01:05

Beitrag von freeskydiver »

upsala hat geschrieben:....
Oder du hast die Klasse gleich abgeleitet, so wie es auch in der Qt3-Doku steht, dann bist du genau soweit wie jetzt.
Ja ok ...ich seh's ein ;) ist wohl richtig.
Antworten