cybercentre pinguin
Barricade Alternative Web Engineering Team - info@bawet.org / 32-4-2329501
AccueilLe coin des développeurs
Dernière mise à jour :
jeudi 25 juin 2009





     
Programmer en Python/Qt4 sous Ubuntu Edgy
lundi 29 janvier 2007
par phil
Cette fois, ça y est ! On peut enfin programmer en Python avec la bibliothèque Qt4 de Trolltech.
Merci Edgy !

Il reste évidemment quelques petits bugs. C’est normal, c’est le début d’une grande aventure. Mais elle vaut le coup, je vous assure...

Allez-y, lancez-vous !

Vous avez installé Ubuntu 6.10 Edgy Eft ? Parfait !
Assurez-vous que vous avez activé les dépôts Universe et Multiverse (avec Synaptic, par exemple).

Pour installer l’environnement complet de développement en Python et Qt4, vous devez installer les paquets suivants :


— python-qt4
— python-qt4-doc
— python-qt4-gl
— python-qt4-sql
— python-doc (pas vital, mais ça peut toujours servir)
— python-docutils (idem en plus beau)
— qt4-designer
— qt4-dev-tools
— qt4-doc
— qt4-qtconfig
— pyqt4-dev-tools
— eric
— eric-api-files


Note : Si vous préférez Ruby, installez les paquets liqt0-ruby1.8-qt4 et irb1.8 à la place des paquets python-qt4-* et pyqt4-dev-tools ci-dessus. Eric devrait comprendre...
Si vous n’avez pas le courage de retaper tout cela ou de les chercher dans Synaptic, téléchargez le fichier install_pyqt4 à cette addresse (il installe également libqt0-ruby1.8-qt4).
Mode d’emploi : cliquez droit sur le nom du fichier -> Enregistrer la cible du lien vers... le répertoire que vous voulez, par exemple le Desktop. Vous devrez probablement le renommer pour enlever l’extension .htm.
Ouvrez une console, allez dans le répertoire où vous avez téléchargé le fichier, dans notre cas le Desktop (cd Desktop), rendez le fichier exécutable par la commande : chmod +x install_pyqt4
Puis, tapez la commande : sudo ./install_pyqt4
Et voilà, il n’y a plus qu’à attendre que tout s’installe.

Si vous avez utilisé le fichier install_pyqt4, vous avez remarqué qu’il comportait la ligne de commande suivante :
ln -s /usr/bin/designer /usr/bin/designer-qt3
C’est une astuce pour forcer l’éditeur Eric à utiliser le nouveau QtDesigner (designer-qt4) au lieu de l’ancien.
Si vous n’avez pas utilisé le fichier d’installation, tapez simplement cette commande dans une console en sudo.

Une fois tout cela installé, vous verrez l’éditeur Eric dans votre menu principal (sous la rubrique Développement en Gnome).
En Gnome, les autres applications (Qtdesigner, Qtassistant, etc.) n’apparaissent pas dans les menus.
Je suppose que ceux qui ont installé Kubuntu (kubuntu-desktop), les verront dans leur menu, même s’ils utilisent Gnome.

Pas grave...
Il suffit de lancer les applications dans une console : designer, assistant, linguist ou qtdemo
Personnellement, j’ai créé des lanceurs sur le bureau de Gnome. Pour cela, il suffit de cliquer droit sur le bureau, sélectionner Créer un lanceur et de remplir le formulaire : nom de l’application (au choix), la commande (ce que l’on tape dans la console) et une icône (au choix).
Une fois les icônes sur le bureau, rien ne vous empêche de les glisser dans votre barre de tâche à l’endroit que vous voulez.

Vous trouverez un grand nombre d’exemples, rangés par catégorie dans le répertoire /usr/share/doc/python-qt4-doc/examples.
Pour Ruby, les exemples et le tutorial se trouvent dans le répertoire : /usr/share/doc/libqt0-ruby1.8-qt4. Le repertoire tutorial contient les codes sources du tutoriel en ligne : http://www.darshancomputing.com/qt4-qtruby-tutorial .
Pour pouvoir manipuler les exemples comme vous le voulez, je vous conseille de les copier dans un répertoire de votre home de la manière suivante (vous transposerez facilement pour Ruby) :


— créez, par exemple, un répertoire /home/utilisateur/PyQt4_Examples
— allez dans le répertoire contenant les dossiers d’examples :
cd /usr/share/doc/python-qt4-doc/examples
— copier les dossiers dans votre répertoire personnel :
cp -a ./* /home/utilisateur/PyQt_Examples
— Allez dans votre répertoire : cd /home/utilisateur/PyQt4_Examples
— Changez l’appartenance des dossiers :
sudo chown -R utilisateur :utilisateur *

Chacun de ces dossiers comporte un fichier python exécutable (main.py ou puzzle.py, par exemple) chargé de lancer l’application. On peut les lancer directement (./main.py ou ./puzzle.py) ou avec la commande python main.py ou python puzzle.py.

Pour une vision globale de Qt4, vous pouvez lancer la commande qtdemo de n’importe où.
Je parie que vous avez deviné que les exemples et les codes sources C++ de Qt4 se trouvent dans le répertoire /usr/share/doc/qt4-doc.
Pour les exécuter, vous devez les compiler pour votre environnement.
Par exemple, pour compiler les fichiers du répertoire demo, vous entrez dedans et vous tapez : sudo qmake -recursive, puis sudo make.
La compilation n’est pas totale, mais si vous parcourez les différentq sous-répertoire, vous rencontrerez beaucoup d’exécutables fonctionnels. Idem pour le répertoire examples.
Tout ceci est bien sûr optionnel, et tout à fait inutile pour travailler avec Python ou Ruby.

L’environnement de développement Eric gère maintenant les projets Python-Qt4 (et Ruby-Qt4). Il fonctionne néanmoins toujours sous Qt3. Pour pouvoir lancer une application à partir d’Eric, il faut modifier les options du Debugger : Dans le menu Settings/Préférences -> Debugger -> Python, choisir No-Qt comme option, sinon Eric utilise le debugger Qt3 et vous renvoie un message d’erreur à l’exécution.

Voilà ! Plus d’excuses pour ne pas utiliser ce fabuleux toolkit.

Vous trouverez des infos fraîches et de la doc sur le site de Riverbank.
Un tutoriel en français pour débuter : http://kib2.free.fr/pyqt4/pyqt4.html.
Un tutoriel (en espagnol, mais compréhensible) très complet sous Windows : http://bulma.net/body.phtml ?nIdNoticia=2336
L’ouvrage de référence sur PyQt3 de Boudewijn Rempt reste très utile pour comprendre les mécanismes entre Python et Qt.
Utile aussi, le PythonInfo Wiki sur PyQt où l’on trouve des infos et des liens régulièrement mis à jour.
J’ai découvert ce site de KDE Tech Base qui me paraît très intéressant sur les signals et les slots.
On peut jeter un coup d’oeil aussi sur le site des développeurs Qt français.
Il existe aussi un tutoriel sur Eric et Qt ici sur ce site dans la rubrique Le coin des développeurs .


Vous pouvez aussi découvrir cet environnement à l’atelier libre du mercredi après-midi ou le vendredi après-midi (de 14h à 17h30) au local de l’asbl Bawetic (50 rue Pierreuse à 4000 Liège).
Amusez-vous !