IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PyQt Python Discussion :

Get started [Débutant(e)]


Sujet :

PyQt Python

  1. #1
    Membre éclairé Avatar de Jazz_
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2010
    Messages
    290
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2010
    Messages : 290
    Par défaut Get started
    Bonjour,

    J'aimerais me lancer dans la realisation d'appliation Qt4 avec python3, je suis debutant dans les deux technologies, je suis sur ubuntu.

    Pour commencer le python, j'ai installé IDLE 3 et 2.6.
    Puis j'ai installé SIP. Et enfin j'ai installé PyQt.

    Je pensais avoir fait cela correctement, puis j'ai essayé dans IDLE 3 un petit bout de code python utilisant PyQt4 trouvé sur un tutoriel pour debuter :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    import sys
    from PyQt4 import QtGui
     
    app = QtGui.QApplication(sys.argv)
    btn = QtGui.QPushButton("Hello World!")
    app.setMainWidget(btn)
    btn.show()
    app.exec_loop()
    Et j'obtiens ce message d'erreur, comme quoi PyQt4 n'existe pas:
    Traceback (most recent call last):
    File "/home/g602178/qttest.py", line 2, in <module>
    from PyQt4 import QtGui
    ImportError: No module named PyQt4


    Alors j'essaie avec IDLE 2.6 et j'obtiens ce message d'erreur :
    Traceback (most recent call last):
    File "/home/g602178/qttest.py", line 6, in <module>
    app.setMainWidget(btn)
    AttributeError: 'QApplication' object has no attribute 'setMainWidget'


    Donc la je crois comprendre que la librairie s'es bien installé, c'est juste que PyQt n'est pas compatible python3, très bien je ferais sans, mais pourquoi ai-je ce message d'erreur ? Et comment faire pour que tout fonctionne correctement ?

    Merci d'avance.

  2. #2
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2012
    Messages : 17
    Par défaut
    PyQt est tout à fait compatible avec Python 3 ne t'en fais pas. Il y a juste quelques ajustements à faire et des conversions de type qui sont automatiques.
    Visiblement ton exemple doit dater un peu vu que la classe QApplication ne dispose plus de la méthode setMainWidget.
    De même, pour la méthode exec_loop qui est à remplacer par exec_
    En revanche pour ton message d'erreur sous IDLE 3, je ne vois pas ...
    Personnellement, j'utilise Eric 5 IDE et c'est plutôt pas mal du tout !

    Au final, ça devrait mieux tourner comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    import sys
    from PyQt4 import QtGui
     
    app = QtGui.QApplication(sys.argv)
    btn = QtGui.QPushButton("Hello World!")
    btn.show()
    app.exec_()

  3. #3
    Membre éclairé Avatar de Jazz_
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2010
    Messages
    290
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2010
    Messages : 290
    Par défaut
    Effectivement ca marche beaucoup mieux, merci beaucoup !

    Parcontre pour python3 j'ai toujours le meme message d'erreur...

  4. #4
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 306
    Par défaut
    Salut,

    Je pense que tu n'as pas installé PyQt4 pour Python3.

    C'est bien une installation différente de celle que tu as pus faire avec les dépôts officiels.

    Il n'existe pas de package .deb de PyQt4 >>Python3, il faut donc compiler.

    Pré-requis :

    make ;
    g++ ;
    gcc;
    python3-all;
    python3-all-dev;
    libqt4-dev.

    Tous dans les dépôts officiels, normalement tu devrais déjà avoir au moins les trois premiers.

    Il faut les dernières archives PyQt-x11-gpl-4.9.1.tar.gz et sip-4.13.2.tar.gz
    Respectivement:
    http://www.riverbankcomputing.com/so.../pyqt/download
    http://www.riverbankcomputing.com/software/sip/download

    =================================================================================

    Décompresser les archives et ouvrir une console dans le dossier sip-4.13.2

    Entrer les commandes suivantes :

    python3 configure.py
    make
    sudo make install

    Passer dans le dossier PyQt-x11-gpl-4.9.1 et entrer les mêmes commandes:

    python3 configure.py
    make
    sudo make install
    ===================================================================================


    Ici, tu trouveras une foultitude d'exemples de petites applications pour démarrer :
    http://diotavelli.net/PyQtWiki/SampleCode

    Bonne découverte.

  5. #5
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 486
    Billets dans le blog
    6
    Par défaut
    Bonjour VinsS,

    La manip est très claire, et je viens de l'essayer. Je suis sous Linux Mint12 (compatible Ubuntu).

    L'installation de sip s'est bien déroulée. Pour PyQt, j'ai un problème avec make: il me fait une boucle avec des centaines de messages identiques à celui-ci (arrêt par ctle-C):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    g++ -c -pipe -fPIC -O2 -Wall -W -D_REENTRANT -DNDEBUG -DSIP_PROTECTED_IS_PUBLIC -Dprotected=public -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -I. -I/home/jeanpaul/Téléchargements/PyQt4_pour_python3/PyQt-x11-gpl-4.9.1/qpy/QtGui -I/usr/include/python3.2mu -I/usr/mkspecs/linux-g++ -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtCore -I/usr/include/qt4 -I/usr/X11R6/include -o sipQtGuiQStyleOptionFrameV2.o sipQtGuiQStyleOptionFrameV2.cpp
    In file included from /usr/include/python3.2mu/Python.h:52:0,
                     from /usr/include/python3.2mu/sip.h:32,
                     from sipAPIQtGui.h:33,
                     from sipQtGuiQStyleOptionFrameV2.cpp:29:
    /usr/include/python3.2mu/pyatomic.h:59:1: attention : unused parameter ‘address’ [-Wunused-parameter]
    As-tu une idée?

    J'ai déjà PyQt4 d'installé avec les dépôts pour Python 2.7: y a-t-il une relation?

  6. #6
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 306
    Par défaut
    Salut tyrtamos,

    Je viens à l'instant de faire l'installation sur Ubuntu 12.04 et j'ai vu passer quatre ou cinq fois les lignes que tu décris mais il est allé jusqu'au bout et j'ai pu faire le make install.

    Je vois que d'autres ont ce message sur pratiquement chaque module:
    https://dev.uhulinux.hu/ansifilter.p...=dev&pkg=pyqt4

    Peut-être qu'il suffit de le laisser continuer, avec patience.

    J'ai quand même été étonné du temps que prend le make, 12 min. sur un 64 bits.

  7. #7
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 306
    Par défaut
    Ce n'était pas aussi simple en fait.

    Je voulais installer Eric5 à la suite et j'ai eu droit à "QtHelp not found"

    libqt4-help était bien installé mais pas avec Python3

    Sur Google, le problème semblait concerner la moitié de l'humanité (mesuré à la grosse louche, hein). Et est caractéristique pour les paquetages d'Ubuntu.

    Solution trouvée ici:
    https://bugs.launchpad.net/ubuntu/+b...107/comments/6

    Dans le configure.py du dossier PyQt-x11-gpl-4.9.1 changer la ligne 1264:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if mname in ("QtOpenGL", "QtWebKit"):
    comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if mname in ("QtHelp", "QtOpenGL", "QtWebKit"):
    Et réinstaller PyQt4

    Après quoi l'installateur d'Eric5 a encore réclamé qscintilla2 toujours pour Python3, là j'ai installé python-qscintilla2 et python3-pyqt4.qsci directement des dépôts.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    sudo apt-get install python-qscintilla2 python3-pyqt4.qsci
    Eric5 est installé.

  8. #8
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 486
    Billets dans le blog
    6
    Par défaut
    J'ai fait la modif de configure.py, mais ce n'a pas changé grand chose pour moi: toujours les mêmes messages en boucle.

    Par contre, après une quinzaine de minutes, et après de très nombreux messages, le make s'est enfin terminé. L'installation s'est bien passée, et: oui, ça marche! Merci VinsS!

    J'ai donc maintenant sur le même linux:
    - Python 2.7 + son PyQt4 (paquets des dépots) et
    - Python 3.2 + son PyQt4 (compilé)!

    Pour faire les développements, j'utilise Eclipse + Pydev sous Windows comme sous Linux. L'avantage est qu'on utilise un répertoire, Pydev2 par exemple, comme "workspace" pour Python 2, et un autre répertoire, pydev3 par exemple, pour Python 3. Il suffit de basculer d'un workspace à l'autre pour changer de répertoire de développement et d'interpréteur: c'est très pratique!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. phpundercontrol getting started
    Par Ashgenesis dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 03/11/2009, 15h27
  2. [ZF 1.8] Tutoriel: Getting Started with Zend Framework
    Par darthmower dans le forum Zend Framework
    Réponses: 2
    Dernier message: 17/07/2009, 09h41
  3. OpenGL : Getting Started
    Par mister3957 dans le forum OpenGL
    Réponses: 2
    Dernier message: 08/03/2007, 21h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo