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