Seite 1 von 1

[gelöst] QVariant <-> QPolygonF

Verfasst: 17. September 2007 18:10
von blubbering
Hab da mal ne Frage. Ist es möglich ein QPolygonF als QVariable zu speichern? QPolygon geht ja ohne Probleme...

Also so zb:

Code: Alles auswählen

QPolygonF points;
QVariant variant(points);
kommt dann der Fehler (is ja auch klar da es ja au net in der Doku steht das es gehen würd)

QVariant::QVariant(QVariant::Type)' : cannot convert parameter 1 from 'QPolygonF' to 'QVariant::Type' No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called

Mit

Code: Alles auswählen

qRegisterMetaType<QPolygonF>("QPolygonF");
davor klappts au net.
Irgenwelche Tipps?
Thx

Verfasst: 19. September 2007 11:32
von FlorianBecker
Dein Beitrag ist ein wenig unverständlich geschrieben, wie ich finde. Klappt es nun mit registerMetaType oder klappt es nicht?

Verfasst: 19. September 2007 14:21
von C_R
so, wie ich das verstanden habe, funktioniert das mitm MetaType auch nicht.

Verfasst: 19. September 2007 14:27
von CaptnChaos
Weshalb möchtest du das denn in einem QVariant speichern?
Nur aus reiner Neugierde...

Verfasst: 20. September 2007 14:25
von blubbering
Hey habs doch hinbekommen....

ging doch mittels qRegisterMetaType, musste bloss QVariant::setValue benutzen, sowie Q_DECLARE_METATYPE(QPolygonF);

Sieht folgender maßen aus:

Code: Alles auswählen

#include <QVariant>
#include <QPolygonF>

Q_DECLARE_METATYPE(QPolygonF);
....

void irgendneFunktion()
{
    qRegisterMetaType<QPolygonF>("QPolygonF");
}

void function2()
{
    QPolygonF carPoints;
    ...
    QVariant carVar;
    carVar.setValue(carPoints);
}
Das ganze hat den Sinn, dass ich Daten über den DBus übertragen will.
Die DBus Funktion "QDBusInterface::Call" verlangt halt QVariant Werte.