QWidget: Doit construire une QApplication avant un QPaintDevice
D'abord, j'utilise Windows 7-64 bits avec PyQwt5.2.0, PyQt4.5.4, NumPy1.3.0, python2.6.2 32-bit pour des raisons de compatibilité.
Tout runnning mon script de ce type apparaît:
QWidget: Must construct a QApplication before a QPaintDevice
Surfer sur le net, à la recherche pour certains moyen pour résoudre ce problème, j'ai eu l' QWidget
hérite QObject
et QPaintDevice
(et c'est héritée bye presque tous les objets que j'utilise), et QMainWindow
hérite QWidget
. J'ai également trouvé que certaines fonction statique est d'essayer d'utiliser un peu de classe, mais je ne comprends pas vraiment ce que cela signifie.
Si quelqu'un pouvait m'expliquer pourquoi, je voudrais vraiment l'apprécier.
PS: Désolé pour les erreurs de traduction.
lien ajouté dans la question
probablement, alors que j'essayais de le fixer j'ai foiré
Cette question devrait être supprimé, car l'O. P. publié son code temporaire pastebin (qui n'existe plus). Ce n'est pas vraiment utile.
OriginalL'auteur bomba | 2012-07-12
Vous devez vous connecter pour publier un commentaire.
À partir du code, l'erreur est due à la ligne 102. Là, tandis que le module est chargé, vous créez un
QWidget
(plus précisément unQMainWindow
). Et ce qui se passe avant laQApplication
est créé.Aussi, je ne sais pas pourquoi vous avez cette variable, car il ne semble pas être utilisés.
Si vous voulez le créer avec le
HelloBegin
objet, le déplacer dans la__init__
méthode.Edit:
Si vous souhaitez afficher un écran de démarrage pendant vos modules sont en cours de chargement, vous avez besoin de l'application pour être lancé par un petit, léger, module. Dans ce module, vous pourrez:
Pour que tout fonctionne sans heurts, je voudrais importer les modules dans une fonction distincte, et d'utiliser une petite astuce pour s'assurer que c'est commencé qu'une fois l'interface graphique est prêt. Le code ressemblera à ceci:
où
createSplashScreen
est la fonction qui crée votre écran de démarrageSi ma solution a fonctionné, j'apprécierais que vous les acceptez
OriginalL'auteur PierreBdR