Programmer avec Python mais lancement sous windows et linux

aurel7687 Messages postés 24 Date d'inscription vendredi 27 juin 2003 Statut Membre Dernière intervention 14 août 2009 - 24 juil. 2009 à 10:49
PythonLin Messages postés 3 Date d'inscription jeudi 4 juin 2009 Statut Membre Dernière intervention 2 septembre 2009 - 2 sept. 2009 à 08:25
Bonjour à tous,

Je compte me lancer dans la programmation PYTHON pour palier à VISUAL BASIC.
Plusieurs questions m'interpellent:

- Est-il possible de programmer avec une interface graphique? (C'est à dire avoir accès aux différents contrôles tels que bouton, label, userform...)

- Si mon programme est développé sous UBUNTU, pourrais-je le compiler et l'utiliser à la fois sur LINUX et parfois sous WINDOWS?

Merci d'avance.

Cordialement,

Aurèl

5 réponses

breizhgatch Messages postés 7 Date d'inscription mercredi 29 octobre 2003 Statut Membre Dernière intervention 26 octobre 2010
18 août 2009 à 10:36
- oui

- par exemple, il y a tkinter (fait partie de l'install python), wxWidget (à installer), pygtk (basé sur gtk+, à installer aussi)...

.: BreizhGatch
0
xeolin Messages postés 336 Date d'inscription samedi 26 novembre 2005 Statut Membre Dernière intervention 8 novembre 2011 2
29 août 2009 à 11:54
Bonjour,

Tu peux créer une interface graphique, il y a plusieurs bibliothèques comme Tkinter ou PMW qui te permettent de créer des interfaces graphiques plus ou moins complexes.

Cependant, contrairement au basic, le python est un language dit "interprété", ce qui veux dire que pour le faire fonctionner tu peux directement exécuter la source sans à avoir à la compiler, si tu ne comprend pas trop, cherche sur google la différence entre langage interprété et compilé.

Du fait qu'il est interprété, il est totalement portable, personnellement j'ai exécuter mes sources sur mac os, plusieurs version de GNU/Linux, Solaris, windows xp,vista,98 et 7. Finalement j'ai réussis à l'exécuter sur mon iphone ma NDS ou ma Xbox.

En fait de la manière que les langages interprétés fonctionnes, c'est que tu installes un logiciel sur la machine où tu veux exécuter ton code, puis tu donnes directement ta source (sans compilation préalable) à ce logiciel qui te l'exécutera.

Les avantages :
totalement portable
facilement modifiable(pas besoin de passer par l'étape compilation)

Les inconvénients :
Nécessité d'installer le logiciel d'interprétation sur toutes les machines où seront exécuté le script.
petite perte de performance.

01001110 00110011 01000001 01110010
By N3Ar
see me @ www.N3Ar.co.cc
0
PythonLin Messages postés 3 Date d'inscription jeudi 4 juin 2009 Statut Membre Dernière intervention 2 septembre 2009
30 août 2009 à 00:38
Les inconvénients :
Nécessité d'installer le logiciel d'interprétation sur toutes les machines où seront exécuté le script.
petite perte de performance.
_________________________________________

Plus forcément de partout. Par exemple py2exe (sous Windows uniquement) permet de créer un runtime du programme. Ce runtime placé dans un dossier particulier contient tout l'environnement de travail Python nécessaire à l'exécution du programme. Ainsi, suffit de prendre le dossier en question (nommé "dist") et le déposer sur la machine cible. Elle pourra exécuter le programme sans qu'on lui installe quoi que ce soit.
Possible toutefois qu'il y ait des contraintes particulières (même système d'exploitation et même service pack sur la machine cible, etc) je ne sais pas.

Concernant les IHM, il en a été cité beaucoup mais pas Qt.
Qt est une IHM qui commence à être assez célèbre aujourd'hui. Développée en C++, elle a été portée ensuite sous différents langages comme Perl ou python (PyQt).
Je ne dirais pas que la prise en main soit immédiatement intuitive, mais il existe une foule de tutos sur le net et une fois passée les difficultés immédiates, on commence à l'apprécier.
Sa force réside dans le mécanisme signal/slot. Un signal c'est une info émise par un objet Qt (quel qu'il soit). Chaque objet Qt émet divers signaux chaque fois qu'il travaille (par exemple le champ de saisie emet un signal "textChanged()" pour chaque lettre tapée ou supprimée.
Et tout signal peut, si on le désire, être connecté à une fonction qu'on appelle "slot" pour gérer l'évènement. Les objets Qt possèdent différents slots préprogrammés mais rien n'empêche de créer son propre objet héritant d'un objet existant mais implémentant ses propres slots (et aussi ses propres signaux)

Pour info, KDE est une IHM faite sous Qt.
0
xeolin Messages postés 336 Date d'inscription samedi 26 novembre 2005 Statut Membre Dernière intervention 8 novembre 2011 2
30 août 2009 à 11:32
hum, py2exe tue la performance. Et démultiplie l'espace nécessaire.


01001110 00110011 01000001 01110010 By N3Arsee me @ www.N3Ar.co.cc
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
PythonLin Messages postés 3 Date d'inscription jeudi 4 juin 2009 Statut Membre Dernière intervention 2 septembre 2009
2 sept. 2009 à 08:25
Xéolin a écrit
hum, py2exe ... démultiplie l'espace nécessaire.
------------------------------------------

Arf forcément. Comme le dossier "dist" embarque tout l'environnement de travail, cet environnement (qui n'est pas petit) sera démultiplié autant de fois qu'on passera un programme par py2exe.

Cependant ça peut avoir son utilité
1) pour faire une démo rapide => on passe son code à py2exe et on transfère le dossier "dist" sur la machine de démo
2) quand on travaille dans des environnements sécurisés où l'installation de logiciels passe par un tas de contraintes administratives difficilement négociables (oui oui, ça existe ce type d'environnement) => on évite le problème en n'installant pas Python et en amenant le dossier dist avec soi (et tant pis pour la place perdue)
0
Rejoignez-nous