Récuperer la valeur d'un widget text
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 ...
Code:
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() |
Merci de votre aide ;)
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é !!