Créer un compte
Connexion

Python : Besoin d'aide !

Pour créer et répondre aux sujets, vous devez être connecté.
Ce sujet est résolu.
Pages: 1
Auteur Message
Spitfire 95
13/02/2010 à 12:28:09
Spitfire 95
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.

ybouane
13/02/2010 à 17:29:44
ybouane
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  :)

Image
Spitfire 95
13/02/2010 à 17:53:03
Spitfire 95
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.

Spitfire 95
13/02/2010 à 18:31:18
Spitfire 95
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.

Spitfire 95
13/02/2010 à 19:55:20
Spitfire 95
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.

ybouane
13/02/2010 à 23:49:45
ybouane
Admin
Bonjour,
je suis heureux que ça fonctionne.

Cordialement :)

Image
Pages: 1