Bonjour à tous.
Je me suis mis il y'as quelques jours à Python, le language me plaît énormement, et maintenant je veux m'attaquer à PYGTK .
J'avais réalisé un script qui renomme toutes les photos présentes dans un dossier .Je veux maintenant le faire fonctionner avec pygtk .J'ai donc crée l'interface avec glade :
1 widget pour aller chercher le fichier que j'ai nommé 'dossier'
1 widget pour le nouveau nom des images nommé 'name'
1 widget bouton
quand je clique sur le bouton, j'arrive à mettre à jour un label pour dire que c'est en traitement .
Le problème c'est que je n'arrive pas à trouver comment récupèrer les valeurs des widgets
Il me semble après avoir passés près d'une heure dans le forum, qu'il faut utiliser la methode get_text()
Mais ca ne marche pas .
Voici le code, si quelqu'un peu me dire la bétise que j'ai faite ...
Merci de votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76 #!/usr/bin/python # -*- coding: iso-8859-1 -*- import pygtk pygtk.require("2.0") import gtk import gtk.glade #Fonction qui renvoie 'true' sur Str char est present dans List ary def in_list(char,ary): cpt = 0 a = 0 #On parcours le tableau while(cpt<len(ary)): #Si la valeur n'est pas egale a la chaine if(ary[cpt] == char): a = 1 cpt = cpt + 1 if (a == 1): return 'true' else : return 'false' class programme: def __init__(self): self.widgets = gtk.glade.XML('/home/laurent/EPR/interface.glade',"window1") events = { 'on_renommer_clicked': self.rename, 'delete': self.delete } self.widgets.signal_autoconnect(events) def delete(self, source=None, event=None): gtk.main_quit() def rename(self, source=None, event=None): self.widgets.get_widget('process').set_text('En cours de traitement') #On recupere le dossier rep = self.widgets.get_widget('dossier').get_text() #On recupere le nouveau nom name = self.widgets.get_widget('name').get_text() #Repertoire contenant les images : repertList = os.listdir(rep) #Nombre de fichiers dans le dossier nbFile = len(repertList) if((confirm == 'Y')or(confirm == 'y')): #On traite a = 0 #Compteur #Tant qu'il y'as des fichiers while(a < nbFile): #On cherche si c'est un fichier en cherchant un point cpt = repertList[a].count('.') #Si c'est un fichier if(cpt > 0): #On decoupe afin de recuperer l'extension fichier = repertList[a].split('.') #On force l'extension en minuscule ext = fichier[1].lower() #SI c'est une image if(in_list(ext,extOk) == 'true'): #On prepare les variables initFile = rep+'/'+repertList[a] newFile = rep+'/'+name+'_'+str(a)+'.'+fichier[1] #On renomme le fichier os.rename(initFile,newFile) a=a+1 #On ferme l'application gtk.main_quit() if __name__ == '__main__': app = programme() gtk.main()
Désolé, j'ai fait l'idiot, j'ai mal posté le message, si un modérateur peux le déplacer dans le forum correspondant ....Désolé !!
Partager