IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Pepa Mochr Vladik:28.4.2020 6:51

Ahoj, pořídil sem si raspberry na hraní a zkoušení nečeho jiného než Arduino. OS raspbian a zkouším Python. "Umím" trochu wiring, vb.net a php. nějaký základ programovaní mám. Ale tady vážně nevím jak na to,aby to bylo jednoduché a fungovalo to.
Cíl: okno v Tkinter(PyQt mě přišlo docela složité), zobrazuje čas, a využití CPU-zatím nemám připojeno žádné čidlo,a tohle se mění a da se s tím pro názornost pracovat :). zarověn chci vykreslovat něco jako bar - ukaztel vytížení červeným sloupcem. nyní obrazek bar.gif, rozmery sou asi jedno, v programu menim vysku dle vytizeni.
a ted to hlavni, v arduino sou dve tridy? setup -vytvoreni okna, nacteni obrazku, a loop - delej porad dokola. tady bych vedel plus bych dal smycku s milisecond misto delay. vb net - vytvorit okno, definovat co potrebuji a vlozim timer s tikem 1s.
ale tady jsem v pasti. mohl by me nekdo prosim nakopnout spravnym smerem? jak udelat hlavni strukturu, definice a pak smycku co se ma aktualzivat?
prikladam co jsem zatim vytvoril.
Zkusil jsem:

import psutil
import time as cas
import sys
from tkinter import *
from PIL import Image, ImageTk




def vypis_cas():


    pozice_X = 120
    pozice_Y = 200
    sirka = 15
    vyska = 60

    cas_string = cas.strftime("%H:%M:%S")

    cpu_int = psutil.cpu_percent(interval=1)
   #vyskaa = cas.strftime("%S")
    vyskaint = int(cpu_int)



    lbl=Label(window, text=cas_string)
    lbl.place(x=30, y=60)
    lbl.after(1000, vypis_cas)

    lbl2=Label(window, text=cpu_int)
    lbl2.place(x=30, y=150)

    obrazek = Image.open("BAR.GIF")
    imgg = obrazek.resize((sirka, vyskaint*2), Image.ANTIALIAS)
    render = ImageTk.PhotoImage(imgg)
    img = Label(window, image=render)
    img.image=render
    img.place(x=pozice_X, y=pozice_Y - vyskaint*2)



window = Tk()
btn = Button(window, text="tlacitko")
btn.place(x=30, y=30)

window.title('pokus')
window.geometry("400x400+300+250")



vypis_cas()

window.mainloop()
Editováno 28.4.2020 6:52
 
Odpovědět
28.4.2020 6:51
Avatar
Pepa Mochr Vladik:28.4.2020 13:51

Našel jsem něco podobného na netu, tak jsem se inspiroval. Může mi někdo říst jestli je to takhle správně, hlavně to mazání a překereslování canvasu?

import psutil
import time
import sys
from tkinter import *
#from PIL import Image, ImageTk

window = Tk()
window.title('pokus')
window.geometry("400x400+300+250")

canvas = Canvas(window, width = 60, height=220, background="blue")
canvas.place(x = 250, y = 40)

lbl_cas = Label(window, font=("arial", 20, "normal"), text="aa")
lbl_cas.place(x=30, y=60)


lbl_CPU = Label(window)
lbl_CPU.place(x=30, y=150)

lbl_bar = Label(window, text="CPU")
lbl_bar.place(x=320, y=200)

time1=""

def vypis_cas():
    global time1
    global obrazek

    time2 = time.strftime("%H:%M:%S")

    pozice_X = 190
    pozice_Y = 200
    sirka = 15
    vyska = 60

    print("1")
    print(time1)
    print("2")
    print(time2)
    print("---")

    cpu_int = psutil.cpu_percent(interval=None)
    vyskaint = int(cpu_int)
    if vyskaint < 3:
        vyskaint=3

    canvas.delete("all")
    canvas.create_rectangle(10,215,35,180-vyskaint*2,fill="red")

    if time2 != time1:
        time1 = time2
        lbl_cas.config(text = time2)
        lbl_CPU.config(text = cpu_int)

    lbl_cas.after(300, vypis_cas)

btn = Button(window, text="tlacitko")
btn.place(x=30, y=30)

vypis_cas()

window.mainloop()
 
Nahoru Odpovědět
28.4.2020 13:51
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.