wie man eingene Datentype(Class Point)in Qt benutzten zu können
-
Du musst noch das Q_OBJECT Makro in die Klasse einfügen.
Bin nicht der QT Experte, aber nen anderen Fehler sehe ich da gerade nicht.Wieso leitest du die Klasse überhaupt von QObject ab?
-
Das habe ich schon probiert. Es funktioniert nicht.
-
uund wo wird Point nun konkret in dieser methode benutzt? annst du auch bitte den code posten? danke
-
das problem besteht darin, dass in qobject der copy-ctor tatsächlich als private deklariert ist, um die existenz des default-copy-ctors zu verbieten, da nach angaben von trolltech in qobject verschiedene dinge enthalten sind, die nicht mit dem default-copy-ctor kopierbar sind.
um diese funktion "Point convert( Point p );" aufzurufen benötigst du aber einen copy-ctor, daher musst du für deine klasse einen anlegen.
also fügst du in deine klasse folgendes ein:Point::Point(const Point& copy) :xm(copy.xm),ym(copy.ym) {}
dann sollte das gehen, wenn du das Q_OBJECT noch eingefügt hast.
-
Dankeschön.
Es ist funktioniert
ohne Q_OBJECT.
Mit Q_OBJECT hat nicht funktioniert.
-
hast du denn mit Q_OBJECT immer brav den MOC benutzt?^^
-
Q_OBJECT braucht man in so einer Klasse nicht und es ist auch Unfug. Q_OBJECT wird nur gebraucht, wenn man signgals/slots oder properties verwendet.
Es sollte aber mit Q_OBJECT auch funktionieren..
Btw: Warum leitest du ueberhaupt von QObject ab?
-
Am Anfang habe ich die Objekte von Point(ohne ableit von QObject) in Konstruktur TestForm probiert und ich habe die Fehlermelund von komplieren bekomme, er kennt keine Typ von Point, dann leite ich Point von QObject ab und es war funktioniert ( nur in Konstruktur TestForm ).
In den Methoden war es nicht funktioniert. Warum weiss ich auch nicht.
-
kannst du vllt mal deinen alten code zeigen. ich kann mir im moment nicht wirklich vorstellen, was da passiert ist.
-
Die alten code sind nicht mehr da.
etwas wie folgende:
in TestForm.h unter private Point p od. static Point p ? bzw. Point pointArray static Point pointArray? und in TestForm::TestForm() p was zugewiesen...genaue weis ich nicht mehr...