Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1380 connectés 

  FORUM HardWare.fr
  Programmation
  Python

  Problème PyQt avec un QVariant - Python 2.5, Qt 4.4.1, PyQt 4.4.3

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème PyQt avec un QVariant - Python 2.5, Qt 4.4.1, PyQt 4.4.3

n°1967788
Sve@r
Posté le 20-02-2010 à 10:41:05  profilanswer
 

Bonjour
 
J'ai découvert récemment le QVariant et sa possibilité d'être transporté dans des items de QComboBox ou autres ce qui est bien pratique quand on veut créer une widget qui embarque avec elle des datas de travail qui n'ont pas besoin d'apparaitre à l'écran.
 
J'ai donc développé un truc sur Linux où j'ai eu besoin de cet outil, et au final, ça a marché. Tout allait bien jusqu'au moment où j'ai voulu le porter sous Windows où là, j'ai eu une surprise avec mon QVariant qui était vide.
 
J'ai réussi à créer un exemple minimal de fonctionnel de démonstration du pb
 

Code :
  1. #!/usr/bin/env python
  2. # coding: UTF-8 -*-
  3.  
  4. # Modules Python
  5. from PyQt4.QtCore import *
  6.  
  7. print "\nEssai1"
  8. a=QVariant((1, 2, 3))
  9. liste=a.toList()
  10. print "a=", a
  11. print "liste=", liste
  12. print "content", [x.toInt() for x in liste]
  13.  
  14. print "\nEssai2"
  15. a=QVariant(QStringList(("1", "2", "3" )))
  16. liste=a.toList()
  17. print "a=", a
  18. print "liste=", liste
  19. print "content", [x.toInt() for x in liste]


 
Donc l'essai 1 est celui qui ne fonctionne pas. Dans cet essai je crée un QVariant qui va embarquer avec lui une liste de 3 nombres. Ensuite je récupère et affiche le contenu donc les 3 nombres.
Ce qui est le plus problématique, c'est que cet exemple fonctionne parfaitement sous Linux. J'obtiens bien mes 3 nombres. Mais sous Windows, j'obtiens une liste vide  :??:  
 
L'essai 2 est la solution que j'ai trouvé qui me permet de contourner le problème. Au lieu de stocker un tableau de 3 nombres, je stocke une QStringList contenant 3 strings. Au retour, j'obtiens bien mes 3 nombres et ça fonctionne aussi bien sous Linux que sous Windows. Mais j'aimerais comprendre pourquoi l'exemple 1 ne fonctionne pas...
 
Personnellement je ne vois que 2 possibilités
1) l'essai 1 est mal conçu mais par chance le défaut de conception reste transparent sous Linux
2) il y a un problème de portabilité Qt/PyQt/Sip sous Windows (je travaille avec Python 2.5, Qt 4.4.1 et PyQt 4.4.3)
 
Si quelqu'un a une autre explication...
 
Merci


Message édité par Sve@r le 20-02-2010 à 15:42:27

---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
mood
Publicité
Posté le 20-02-2010 à 10:41:05  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Python

  Problème PyQt avec un QVariant - Python 2.5, Qt 4.4.1, PyQt 4.4.3

 

Sujets relatifs
Problème site internet basiqueProbleme de connect
Problème Javascript/Ajax/PHPProbleme en php et snmp
Problème avec un tableau[Qt] Manipulation de QVector
[Qt/qwt] erreur de compilationProblème Fonctionnement fichier Excel
[Glassfish] Probleme install de phpMyAdminQt - problème image
Plus de sujets relatifs à : Problème PyQt avec un QVariant - Python 2.5, Qt 4.4.1, PyQt 4.4.3


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR