Problem: Falsche Klasse zugewiesen

Alles rund um die Programmierung mit Qt
Antworten
rafilis1982
Beiträge: 34
Registriert: 6. Juni 2008 14:44

Problem: Falsche Klasse zugewiesen

Beitrag von rafilis1982 »

Hallo,

ich habe das Problem, dass ich bei einem Methodenaufruf gerne eine Objekt von einer von mir selbst geschriebenen Klasse übergeben möchte.

Das ganze sähe so aus:

Code: Alles auswählen

#include "shape.h"
...
bool write(QIODevice *device, Shape *shape);
Nur leider hält er Shape für eine Klasse vom Typ enum QFrame::Shape.

Wie kann ich dies beheben?
patrik08
Beiträge: 746
Registriert: 27. Februar 2006 10:48
Wohnort: DE Freiburg

Beitrag von patrik08 »

probiere mal die metatype zu lesen:
http://doc.trolltech.com/4.1/qmetatype.html

classen die nicht mit QObject verbunden sind muss man declarieren

Q_DECLARE_METATYPE(FlashItem);

so kann man sie auch in slot verwenden ...
.........................
speack português italiano deutsch english castellà qt
rafilis1982
Beiträge: 34
Registriert: 6. Juni 2008 14:44

Beitrag von rafilis1982 »

Kann ich ehrlich gesagt nicht nachvollziehen...

Was muss ich denn genau tun?

Muss ich nun vor jedem Konstruktur in meiner Shape Klasse Q_DECLARE_METATYPE anwenden?
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Ich denke da sind zwei Fehler :)
1. So einen generischen Namen benutzt man nicht und wenn doch dann doch bitte in einem eigenen Namespace
2. Es könnte ggf. mit "class Shape *shape" gehen
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
rafilis1982
Beiträge: 34
Registriert: 6. Juni 2008 14:44

Beitrag von rafilis1982 »

Super, der Tip mit dem eigenen Namespace hat geholfen.

vielen Dank :D
Antworten