2009-09-03 13 views

Répondre

4

PyQt 4.6, en utilisant l'API moderne:

La classe QVariant est implémenté comme un de type cartographié. Tout objet Python peut être passé lorsqu'une instance QVariant est attendue. Lorsque Qt renvoie un QVariant , il sera automatiquement converti en l'objet original Python ou un équivalent. None est interprété comme invalide QVariant et vice versa.

1

Vous pouvez utiliser la méthode .toPyObject() sur un QVariant. Je doute que cela fonctionne pour les types personnalisés, cependant.

+1

Cela fonctionne. Mais vraiment, le problème commence dès que l'objet n'est pas un QVariant. –

1

La seule solution que j'ai trouvé est de convertir chaque valeur à un QVariant puis retour:

QVariant(possiblyAQVariant).toPyObject() 

Cela fonctionne pour QVariant et types Python.