ImportError: impossible d'importer nom "QStringList" dans PyQt5
Je suis en utilisant PyQt5 mais ne pouvez pas importer des QStringList. Je sais que QStringList utilisé pour être dans le module QtCore en PyQt4. J'ai donc essayer de l'importer la classe à l'aide de
from PyQt5.QtCore import QStringList
mais il montre que cette erreur
C:\Python34\python.exe C:/Users/User/PycharmProjects/FirstProject/Test.py
Traceback (most recent call last):
File "C:/Users/User/PycharmProjects/FirstProject/Test.py", line 3, in <module>
from PyQt5.QtCore import QStringList
ImportError: cannot import name 'QStringList'
Je suis à l'aide de PyCharm, et il montre dans l'auto-complétion quelque chose qui s'appelle QStringListModel. J'ai suivi le livre "le Rapide Développement du GUI en Python et Qt" par Mark Summerfield. Comment puis-je utiliser QStringList, ou quoi que ce soit d'autre dans PyQt5 qui fera le travail de QStringList?
Vous devez vous connecter pour publier un commentaire.
Dans PyQt5, il n'y a pas de
QString
et donc aucun besoin deQStringList
.Tout l'intervalle Qt de l'API qui doit normalement retourner un
QString
, retournera automatiquement une chaîne Python à la place. De même, toute Qt Api qui doit normalement retourner unQStringList
sera de retour une liste Python Python contenant des chaînes de caractères. Et l'inverse s'applique également: toute l'intervalle Qt de l'API qui serait normalement accepter unQString
ouQStringList
accepte le Python équivalents à la place.C'est le même que le comportement par défaut lors de l'utilisation de PyQt4 avec Python 3, ou lorsqu'il est explicitement réglage de l'API de la version 2 à l'aide de
sip.setapi
.Pour plus de détails, voir: Les différences Entre PyQt4 et PyQt5 dans le PyQt5 De Référence.
Que je ne pouvais pas trouver une solution à ce problème, je suis venu avec une solution de contournement pour mes besoins. Je commence mon script python à partir d'un shell script et utiliser grep pour ignorer le message d'erreur. J'espère que cela aide les autres.
~/run/r_entry.py 2>&1| grep -v FIFinderSyncExtensionHost