
Membre
|
Bonjour.
Je développe en Python 2.6 avec IDLE (2.6) sous Ubuntu Linux.
J'ai besoin d'utiliser la bibliothèque Pmw ou Tix. Pour moi sous linux, c'est facile de l'installer avec Synaptic, mais pour les utilisateurs qui sont sous Windows, c'est déjà plus difficile.
Donc je voudrais un code pour faire une instalation automatique sans prévenir l'utilisateur, du style
try:
from Pmw import ComboBox
except:
intall Pmw
Il faudrais bien sur que le code marche de façon similaire sur tous les OS.
Ou mieux, creer une ComboBox sans importer d'autres bibliothèques que celles installés par défaut avec Python 2.6.
Avez-vous une idée ?
Merci pour votre aide.
|

Admin
|
Bonjour,
je ne connais pas grand chose en python, mais en faisant une petite recherche, voici sur quoi je suis tombé:
En gros, ce que j'ai compris, c'est que pour les gens qui utilisent windows, tu peut utiliser py2exe qui te permet de compiler les fichiers python en exe, mais pour qu'il intègre les bibliothèques(PMW dans ton cas), il faut d'abord que tu les télécharge toi même(pas en utilisant synaptic) les mettre dans le repertoire de ton projet, et les appeler de cette façon, et ensuite, tu devra compiler le tout en utilisant py2exe et en mettant l'option bundle_files=1 pour que le tout soit compiler dans un seul unique fichier exe.
j'espère ne pas avoir dit de bêtises.
Cordialement
|

Membre
|
Mais cette méthode ne fonctionnera pas sous linux...
Tant pis, j'ai une autre idée : Pmw est écrit en python, je peux donc copier le code source de ComboBox directement dans mon application.
Merci quand même.
|

Membre
|
Finalement, c'était trop compliqué à faire : l'indentation des fichiers reécupérés n'était pas bonne : le mélange des tabulations et des espaces. Et j'ai pas envi de réindenter 300 ligne de code (ou +, je sais plus).
Je vais peut-être demander sur d'autres forum, sinon, j'improviserais... Les Radiobuttons, c'est moche, mais ça marche.
Au revoir.
|

Membre
|
Résolu :
variable=StringVar()
variable.set('Option 1')
optmenu=OptionMenu(f1,variable,"Option 1", "Option 2","Option 3")
optmenu.grid(row=1)
Et vous pouvez ajouter une commande à l'optionmenu (command= ), et/ou récupérer sa valeur pour modifier le déroulement du programme avec if, elif et else).
Voila, ce n'était pas si compliqué finalement.
|

Admin
|
Bonjour,
je suis heureux que ça fonctionne.
Cordialement
|