Wie kann ich QVariant in eine benutzerdefinierte Klasse umwandeln?

8

Ich entwickle eine BlackBerry 10 mobile Anwendung mit der Momentics IDE (natives SDK).

Ich habe eine Listenansicht, die ich mit ihren Elementen bearbeiten möchte, klicken Sie mit C ++ (ich brauche C ++ nicht QML).

Ich kann den Indexpfad mit der Anweisung "connect" abrufen, aber ich habe Probleme beim Parsen eines QVariant mit einer benutzerdefinierten Klasse;

%Vor%

Ich habe versucht, den statischen Cast wie unten zu verwenden

%Vor%

aber es gibt zurück:

%Vor%

Kann mir jemand dabei helfen?

    
J.M.J 23.06.2014, 09:50
quelle

2 Antworten

12

Sie könnten versuchen, qvariant_cast und qobject_cast .

%Vor%

Schreiben Sie auch niemals persistente Anweisungen in Q_ASSERT. Es wird nicht verwendet, wenn die Bestätigung nicht aktiviert ist.

    
lpapp 23.06.2014, 09:55
quelle
10

BEARBEITEN: Funktioniert für nicht von QObject abgeleitete Typen (siehe Antwort des endgültigen Wettbewerbs für diesen Fall)

Zunächst müssen Sie sich bei Ihrem Typ registrieren, um Teil von QVariant verwalteten Typen zu sein

%Vor%

Dann können Sie Ihren benutzerdefinierten Typ auf folgende Weise von QVariant abrufen:

%Vor%

entspricht:

%Vor%     
jbh 23.06.2014 10:14
quelle