Konvertieren von QList zu QVariant
Enthält die Klasse:
Q_PROPERTY(QList<double> switch1 READ switch1 WRITE setSwitch1 NOTIFY switch1Changed)
void setSwitch2(QList<double> arg)
{
if (m_switch2 != arg)
{
m_switch2 = arg;
emit switch2Changed(arg);
}
}
Den folgenden arbeiten:
setSwitch2(QList<double>::fromVector(QVector<double>::fromStdVector(data->switch2)));
aber jetzt ist mein Datentyp ist QVariantList
statt QList<double>
.
Wie sollte ich ersetzen QList mit QVariant jetzt?
Dies nicht funktioniert:
setSwitch1(QVariantList::fromVector(QVector<QVariant>::fromStdVector(data->switch1)));
Die Körper Sie die Frage nicht sinnvoll nach dem Lesen der Titel. Es muss nicht einmal ein QVariant überall.
Es hat eine QVariantList. Eigentlich will ich die C++ - array aus zugegriffen werden QML, daher wollte ich ersetzen QList mit QVariant oder QVariantList (je nachdem, welcher von Ihnen arbeitet) @LaszloPapp
Tatsächlich, QList ist bereits von QML!
Es hat eine QVariantList. Eigentlich will ich die C++ - array aus zugegriffen werden QML, daher wollte ich ersetzen QList mit QVariant oder QVariantList (je nachdem, welcher von Ihnen arbeitet) @LaszloPapp
Tatsächlich, QList ist bereits von QML!
InformationsquelleAutor Aquarius_Girl | 2014-01-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nur verwenden Sie diesen Konstruktor:
I. e. beim speichern einer QList als QVariant, die Vorlage der QList hat, um eine Art, dass ist OK für QVariant. Es gibt keinen anderen Konstruktor oder die Umwandlung Methode.
Sollten Sie diese schriftlich:
dein code zeigt nicht den ganzen Kontext, aber dies ist der einzige Weg der Bekehrung. Ich bin mir nicht sicher was du meinst mit "was sollte ich ersetzen mit was?".
ja, mein Fehler, ich habe nun einige weitere Details, bitte sagen Sie, was Sie soll ich mehr hinzufügen.
Aufgrund QList wobei eine Klasse Vorlage ist es einfach nicht möglich, einen generischen Konstruktor (wie vorgeschlagen in die akzeptierte Antwort) für QVariant aus einer QList. Bau QVariant kann erreicht werden, mit QVariant::fromValue(). Obwohl das Ergebnis wird eine QVariant mit einer QList<QVariant>.
InformationsquelleAutor lpapp
Wenn keine Notwendigkeit Konstruktor:
InformationsquelleAutor ZolotovPavel