tkinter&psutil实现系统网络监控
基于tkinter-label标签和psutil实现网络的监控
后期可以通过pyinstaller封装成exe使用
代码可能冗余,敬请指教
import tkinter as tk
import psutil
import time
def update():
recv1=psutil.net_io_counters().bytes_recv/1024
time.sleep(1)
recv2=psutil.net_io_counters().bytes_recv/1024
recv=recv2-recv1
round(recv,2)
v='实时网速监控:'+str(round(recv,2))+' '+'kb/s'
var1.set(v)
total_memory='总内存:'+str(round(psutil.virtual_memory().total/1024/1024/1024,2))+' '+'GB'
used_memory='已使用:'+str(round(psutil.virtual_memory().available/1024/1024/1024,2))+' '+'GB'
usage_per='使用率:'+str(round(psutil.virtual_memory().percent,2))+'%'
usage_cpu = 'CPU使用率:' + str(round(psutil.cpu_percent(),2)) + '%'
recv_total='总流量'+ str(round((recv2-recv_start)/1024/1024,4)) + 'GB'
var2.set(total_memory)
var3.set(used_memory)
var4.set(usage_per)
var5.set(usage_cpu)
var6.set(recv_total)
window.after(1000,update)
window=tk.Tk()
# window.iconbitmap('w.ico') # 设置图标
# window.geometry('300x300')
window.title('系统状态')
recv_start=psutil.net_io_counters().bytes_recv/1024
var1=tk.StringVar()
var2=tk.StringVar()
var3=tk.StringVar()
var4=tk.StringVar()
var5=tk.StringVar()
var6=tk.StringVar()
l1=tk.Label(window,textvariable=var1,bd=2,font=('Arial',15),relief='groove',width=25,height=1)
l1.pack()
l2=tk.Label(window,textvariable=var2,bd=2,font=('Arial',15),relief='groove',width=25,height=1)
l2.pack()
l3=tk.Label(window,textvariable=var3,bd=2,font=('Arial',15),relief='groove',width=25,height=1)
l3.pack()
l4=tk.Label(window,textvariable=var4,bd=2,font=('Arial',15),relief='groove',width=25,height=1)
l4.pack()
l5=tk.Label(window,textvariable=var5,bd=2,font=('Arial',15),relief='groove',width=25,height=1)
l5.pack()
l6=tk.Label(window,textvariable=var6,bd=2,font=('Arial',15),relief='groove',width=25,height=1)
l6.pack()
window.after(1000,update)
# 窗口置顶
window.wm_attributes('-topmost',1)
# 取消窗口状态栏
# 取消窗口栏后使用pyinstaller封装exe无法退出需要任务管理器关闭
window.overrideredirect(True)
# 窗口透明度
#window.attributes("-alpha", 0.4)#窗口透明度60 %
window.mainloop()