Python+drawpad實(shí)現(xiàn)CPU監(jiān)控小程序
CPU活動展示


導(dǎo)入模塊,創(chuàng)建畫板,創(chuàng)建畫筆進(jìn)行繪畫出cpu的數(shù)據(jù),一定要用線程,負(fù)責(zé)會卡住哦
實(shí)現(xiàn)代碼
import tkinter
from tkinter import *
import psutil
import time
import win32api,win32con,win32gui
from threading import Thread
root_Terminal = Tk()
root_Terminal.title('賤工坊-CPU活動數(shù)據(jù)')
# 窗口的大小及頁面的顯示位置
root_Terminal.geometry(
f"600x100+{(win32api.GetSystemMetrics(win32con.SM_CXSCREEN) - 600) // 2}+{(win32api.GetSystemMetrics(win32con.SM_CYSCREEN) - 100) // 2}")
root_Terminal.resizable(False, False) # 固定頁面不可放大縮小
root_Terminal.configure(background='#333333')
# 新畫框
drawpad = Canvas(root_Terminal, width=600, height=400, bg='#333333')
drawpad.place(x=-2,y=0)
# 文本框
text_1 = tkinter.Text(root_Terminal, width=14, heigh=2, bg='#333333', undo=True, fg='#ffffff',
font=("黑體",12),borderwidth=0)
text_1.place(x=20, y=20)
text_1.insert(tkinter.INSERT, 'CPU使用率:\n0%')
text_1.config(state=DISABLED) # 禁用狀態(tài)
def CPU():
# CPU展示數(shù)據(jù)框架 -1 畫出長方形CPU框架
drawpad.create_polygon(150, 0, 600, 0, 600, 62, 150, 62, fill='#232323') # CPU框架 左上 右上 右下 左下
H_CPU = [590] # CPU默認(rèn)值
S_CPU = [60] # CPU默認(rèn)值
while True:
A_CPU = psutil.cpu_percent(1) # CPU
# CPU展示數(shù)據(jù)框架 -2 用來遮蓋上一次的數(shù)據(jù) 防止重疊在一起難看
drawpad.create_polygon(150, 0, 600, 0, 600, 62, 150, 62, fill='#232323') # CPU框架 左上 右上 右下 左下
for a in range(len(H_CPU)-1): # 畫圖CPU 數(shù)據(jù)
if len(H_CPU) == 1: # 值為1則表示剛開始暫無數(shù)據(jù)
drawpad.create_line(H_CPU[a], S_CPU[a], H_CPU[a] + 10, 60-A_CPU*0.6, fill='#00e500') # 使用畫筆畫出折線
else:drawpad.create_line(H_CPU[a], S_CPU[a], H_CPU[a] + 10, S_CPU[a+1], fill='#00e500') # 使用畫筆畫出折線
text_1.config(state=NORMAL) # 啟動狀態(tài)
# 清空
text_1.delete(1.0, END)
text_1.insert(tkinter.INSERT, f'CPU使用率:\n{A_CPU}%')
text_1.config(state=DISABLED) # 禁用狀態(tài)
H_CPU = H_CPU + [600]
J = [] # 創(chuàng)建臨時列表裝飾器
for sdss in H_CPU:
J = J + [sdss - 10]
H_CPU = J # 替換列表數(shù)據(jù)
S_CPU = S_CPU + [60 - A_CPU*0.6]
# 刪除列表第一個數(shù)據(jù)
if len(H_CPU) == 46: # 不能超過46次
# 刪除列表元素 防止數(shù)據(jù)超出
del H_CPU[0]
del S_CPU[0]
# 創(chuàng)建線程并啟動
Thread(target=CPU).start()
root_Terminal.mainloop() # 運(yùn)行到此這篇關(guān)于Python+drawpad實(shí)現(xiàn)CPU監(jiān)控小程序的文章就介紹到這了,更多相關(guān)Python CPU監(jiān)控內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python輸出漢字字庫及將文字轉(zhuǎn)換為圖片的方法
這篇文章主要介紹了Python輸出漢字字庫及將文字轉(zhuǎn)換為圖片的方法,分別用到了codecs模塊和pygame模塊,需要的朋友可以參考下2016-06-06
巧妙使用python?opencv庫玩轉(zhuǎn)視頻幀率
這篇文章主要介紹了巧妙使用python?opencv庫玩轉(zhuǎn)視頻幀率的教程示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-04-04
Selenium獲取登錄Cookies并添加Cookies自動登錄的方法
這篇文章主要介紹了Selenium獲取登錄Cookies并添加Cookies自動登錄的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
Python 實(shí)現(xiàn)將大圖切片成小圖,將小圖組合成大圖的例子
這篇文章主要介紹了Python 實(shí)現(xiàn)將大圖切片成小圖,將小圖組合成大圖的例子,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03
用python實(shí)現(xiàn)讀取xlsx表格操作
大家好,本篇文章主要講的是用python實(shí)現(xiàn)讀取xlsx表格操作,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下2022-01-01
Python把csv數(shù)據(jù)寫入list和字典類型的變量腳本方法
今天小編就為大家分享一篇Python把csv數(shù)據(jù)寫入list和字典類型的變量腳本方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06
matplotlib在python上繪制3D散點(diǎn)圖實(shí)例詳解
這篇文章主要介紹了matplotlib在python上繪制3D散點(diǎn)圖實(shí)例詳解,首先介紹了官網(wǎng)的實(shí)例,然后分享了本文簡單代碼示例,具有一定借鑒價(jià)值,需要的朋友可以了解下。2017-12-12

