CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Tkinter bloque le programme

Ulysse21_jvc
Ulysse21_jvc
Niveau 3
24 février 2020 à 14:18:08

Bonjour a tous,
J'ai récemment fait un script pour python et j'y est ajouter tkinter pour afficher une fenêtre quand le programme est actif.
Le problème est qu'a l’exécution du programme il se bloque et je doit fermé la fenêtre tkinter pour que le script continue.
Je trouve pas de solution pour que la fenêtre s'affiche sans pour autant bloquer l’exécution du programme. (le problème vient selon moi du root.mainloop qui est tout en haut mais je ne sais pas ou le placer.)

Si quelqu'un a une solution je suis preneur
Merci.

import serial
import time
import wmi
import tkinter

import tkinter as tk

root = tk.Tk()
root.title('ums')
T = tk.Text(root, height=2, width=25)
T.pack()
T.insert(tk.END, "Ulyu Monitoring Systeme \nRelease 1.0  24/02/2020")
root.mainloop()

def update():
    global hwm
    hwm = wmi.WMI(namespace="root\OpenHardwareMonitor")
    global cpu
    global ram
    global disk
    hm_data = hwm.Sensor()
    cpu = [] 
    ram = []
    disk = []
    
    for sensor in hm_data:
        
        if sensor.SensorType==u'Temperature':
            if sensor.Name == u'CPU Package':
                cpu.insert(0,  "CPU temp : %d" % sensor.Value + "C")          

        if sensor.SensorType==u'Load':
            if sensor.Name == u'CPU Total':
                cpu.insert(1,  "CPU load : %d" % sensor.Value + "%")

        if sensor.SensorType==u'Load':
            if sensor.Name == u'Memory':
                ram.insert(0,  "RAM load : %d" % sensor.Value + "%")

        if sensor.SensorType==u'Load':
            if sensor.Name == u'Used Space':
                disk.insert(0,  "Disk space : %d" % sensor.Value + "%")

arduino = serial.Serial('COM3', 9600, timeout=.7)
time.sleep(1)

cpu = [] 
gpu = []
disk = []
    
while True:
    for i in range(4):
        update()
    arduino.write(cpu[0].ljust(16).encode())
    arduino.write(cpu[1].ljust(16).encode())
    arduino.write(ram[0].ljust(16).encode())
    arduino.write(disk[0].ljust(16).encode())
    time.sleep(2)


Message édité le 24 février 2020 à 14:21:55 par Ulysse21_jvc
Ulysse21_jvc
Ulysse21_jvc
Niveau 3
25 février 2020 à 13:36:31

:up:

MrInnerPeace
MrInnerPeace
Niveau 10
27 février 2020 à 15:29:38

Utilise un thread en arriere plan pour l'execution de ton programme. Deroule ton thread avant?

Stoorm6
Stoorm6
Niveau 3
06 mars 2020 à 22:25:00

Utilise .update() à la place de mainloop()

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment