IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

python tkinter image


Sujet :

Python

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 27
    Par défaut python tkinter image
    Bonjour, mon programme permet de savoir si le ventilateur de mon raspberry est activé ou non dans une fenêtre tkinter, voici mon programme:

    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
    #!/usr/bin/python3
    from tkinter import *
    from time import sleep
    from PIL import ImageTk
    from PIL import Image
    import tkinter as Fan
     
    root = Tk()
    root.geometry('150x50+1500+50')
    root.title('Fan2')
    var = StringVar()
    image1 = Image.open('ventilo.png')
    Fan_image1 = ImageTk.PhotoImage(image1)
    image2 = Image.open('non_ventilo.png')
    Fan_image2 = ImageTk.PhotoImage(image2)
    with open('/sys/class/thermal/cooling_device0/cur_state', 'r') as fan:
    #with open('/home/pi/Desktop/test', 'r') as fan:    
        gfan = int(fan.read())
    var.set('ventilateur')
    l = Label(root, textvariable = var, image=Fan_image1, compound='left')
    l.pack()
    while True:
        #with open('/home/pi/Desktop/test', 'r') as fan:
        with open('/sys/class/thermal/cooling_device0/cur_state', 'r') as fan:
            gfan = int(fan.read())
        #for i in range(6):
            sleep(1) # Need this to slow the changes down
            var.set('  désactivé' if gfan==0 else '  activé')
            root.update_idletasks()
    Je cherche à faire la même chose mais en changeant une image, si il est activé une image, si il est désactivé une autre image, avec mise à jour instantanée. Je n'arrive pas à savoir comment faire.

    Si quelqu'un à une idée?

    Merci

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 699
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 699
    Par défaut
    Salut,

    Citation Envoyé par pierrot666 Voir le message
    Je n'arrive pas à savoir comment faire.
    Vous pouvez mettre les images dans une liste qui aura deux items aux positions 0 et 1 correspondant aux valeurs booléennes de False et True:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    >>> L = ['on', 'off' ]
    >>> L[False]
    'on'
    >>> L[True]
    'off'
    >>> L[1 == 0]
    'on'
    >>> L[1 == 1]
    'off'
    >>>
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Invité
    Invité(e)
    Par défaut
    Lu!

    Pour mettre à jour une image :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    state = 0 #or 1
    L = [img_off, img_on]
    while True:
        if gfan != state:
            state = gfan #gfan doit valoir 0 ou 1
            l.configure(image=L[state])
    Dernière modification par Invité ; 03/09/2022 à 17h35.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 27
    Par défaut
    Merci beaucoup, c'est bon ça fonctionne.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ouvrir une image en cliquant sur une image (Python-Tkinter)
    Par MrLemon dans le forum Programmation multimédia/Jeux
    Réponses: 4
    Dernier message: 12/04/2020, 14h38
  2. Conteneurs en Python Tkinter ?
    Par tuxout dans le forum Tkinter
    Réponses: 2
    Dernier message: 09/04/2007, 18h46
  3. [Tkinter]Image dans un Canvas
    Par Slade991 dans le forum Tkinter
    Réponses: 2
    Dernier message: 10/06/2006, 14h42
  4. [Tkinter] image dans une fenetre
    Par THE_VIP dans le forum Tkinter
    Réponses: 3
    Dernier message: 13/05/2006, 08h38
  5. [Tkinter] image dans un Frame
    Par THE_VIP dans le forum Tkinter
    Réponses: 7
    Dernier message: 26/04/2006, 14h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo