DAN247
Messages postés37Date d'inscriptionsamedi 29 octobre 2016StatutMembreDernière intervention31 mai 2019
-
Modifié le 26 oct. 2018 à 09:24
DAN247
Messages postés37Date d'inscriptionsamedi 29 octobre 2016StatutMembreDernière intervention31 mai 2019
-
26 oct. 2018 à 17:21
Bonjour à tous.
Je débute sur python version 3.6.
J'ai une fonction dans mon application qui se nomme :
coller sa elle fonctionne parfaitement bien et je récupère dans une liste box la liste de mes fichiers JPEG.
Voici cette fonction.
NBNL = 0
def LISTIMAGE(dirs1):
global NBL
NBL = 0
for i in dirs1:
extension = os.path.splitext(i)
if ".jpg" in extension[1]:
listbox2.insert(1, i)
NBL = NBL+1
elif ".JPG" in extension[1]:
listbox2.insert(1, i)
NBL = NBL+1
return(NBL)
À la sortie de cette fonction j'ai une variable intitulé NBL que je veux pouvoir utiliser dans mon application mais en dehors de cette fonction.
J'ai beau appelé ensuite NBL sa valeur état 0 comme initialement dans mon application.
Comment faire ?
D'avance merci de votre aide
A voir également:
Python sortir d'une fonction
Sortir d'une fonction python - Meilleures réponses
Sortir une variable d'une fonction python - Meilleures réponses
DAN247
Messages postés37Date d'inscriptionsamedi 29 octobre 2016StatutMembreDernière intervention31 mai 20192 Modifié le 26 oct. 2018 à 09:25
Bonsoir.
Merci de ta réponse oui effectivement il s'agit de NBL , j'ai fait une erreur de transcription.
NBL = 0
def LISTIMAGE(dirs1):
global NBL
NBL = 0
for i in dirs1:
extension = os.path.splitext(i)
if ".jpg" in extension[1]:
listbox2.insert(1, i)
NBL = NBL+1
elif ".JPG" in extension[1]:
listbox2.insert(1, i)
NBL = NBL+1
return(NBL)
Dans le même sujet j'ai un scale a l'intérieur d'une fonction et je veux récupérer la valeur du curseur à l'extérieur de cette fonction comme à l'intérieur apres avoir déplacer ce curseur .
Dans Visual Basic on utilise des événements (sur clic droit sur déplacement de la souris… ici je ne vois pas comment je pourrais faire et tenter et en tout état de cause la variable qui se trouve dans la fonction n'est pas récupérée en dehors de la fonction comme mon problème ci-dessus avec la variableNBL.
Si tu peux me sortir de cette difficulté je t'en serais très reconnaissant.
Voici mon code :
import tkinter as tk
import os, sys
from PIL import ImageTk
from tkinter import END
from tkinter import *
root = Tk()
# on ajuste la frnetre a la dimention ecran
width = .9*root.winfo_screenwidth()
height =.9*root.winfo_screenheight()
root.geometry("%dx%d" % (width, height))
def maj(nouvelleValeur):
global valeur
valeur=40
#création d'un scale
NBL1 = nouvelleValeur
y = NBL1
interval =y/10
Scale2 = Scale(
root,
orient='horizontal',
from_=0,
to=y,
resolution=1,
tickinterval=interval,
length=300,
)
Scale2.place(x=300, y=5, width=400, height=60)
# ci dessous le print me donne la valeur 0
print("valeur du curseur ",Scale2.get())
maj(110)
#ci dessous j'ai une erreur
print("valeur du curseur ",Scale2.get())
root.mainloop()
.
En te remerciant de l'attention que te portera à mon problème de débutants sur python
hbouia
Messages postés112Date d'inscriptionmardi 30 juillet 2013StatutMembreDernière intervention22 novembre 202212 26 oct. 2018 à 13:55
Voici un petit code dont tu peux t'inspirer :
import Tkinter
global value
def save_value(val):
global value
value=val
# print val
root = Tkinter.Tk()
scale=Tkinter.Scale(orient='horizontal', from_=0, to=128, command=save_value)
scale.pack()
root.mainloop()
print('Valeur du curseur :',value)
DAN247
Messages postés37Date d'inscriptionsamedi 29 octobre 2016StatutMembreDernière intervention31 mai 20192 26 oct. 2018 à 17:21
Bonjour hbouia
merci de ta réponse après l'avoir adapté à ma version de python 3.6 cela fonctionne parfaitement, je vais m'en inspirer et te tenir au courant par contre ma logique m'amène à poser la question d'où vient cette valeur de la variable val qui donne la position du curseur ?
C'est une grande question pour mon esprit rationnel.
Je pensais qu'il fallait faire un get ou un set pour récupérer ou modifier la position du curseur ?
Si tu pouvais éclairer ma lanterne ?
Dès que je peux je m'y remets et je te tiens au courant.
Encore merci.
Bien à toi.