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


導(dǎo)入模塊,創(chuàng)建畫板,創(chuàng)建畫筆進(jìn)行繪畫出cpu的數(shù)據(jù),一定要用線程,負(fù)責(zé)會(huì)卡住哦
實(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活動(dòng)數(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) # 啟動(dòng)狀態(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)建臨時(shí)列表裝飾器
for sdss in H_CPU:
J = J + [sdss - 10]
H_CPU = J # 替換列表數(shù)據(jù)
S_CPU = S_CPU + [60 - A_CPU*0.6]
# 刪除列表第一個(gè)數(shù)據(jù)
if len(H_CPU) == 46: # 不能超過46次
# 刪除列表元素 防止數(shù)據(jù)超出
del H_CPU[0]
del S_CPU[0]
# 創(chuàng)建線程并啟動(dò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字符串與url編碼的轉(zhuǎn)換實(shí)例
今天小編就為大家分享一篇python字符串與url編碼的轉(zhuǎn)換實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-05-05
python 實(shí)現(xiàn)仿微信聊天時(shí)間格式化顯示的代碼
這篇文章主要介紹了python 實(shí)現(xiàn)仿微信聊天時(shí)間格式化顯示,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2020-04-04
Python+PIL實(shí)現(xiàn)支付寶AR紅包
這篇文章主要為大家詳細(xì)介紹了Python+PIL實(shí)現(xiàn)支付寶AR紅包,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-02-02
使用OpenCV-python3實(shí)現(xiàn)滑動(dòng)條更新圖像的Canny邊緣檢測功能
這篇文章主要介紹了使用OpenCV-python3實(shí)現(xiàn)滑動(dòng)條更新圖像的Canny邊緣檢測功能,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-12-12
Pygame實(shí)現(xiàn)監(jiān)聽鼠標(biāo)示例詳解
這篇文章主要介紹了通過Pygame模塊實(shí)現(xiàn)監(jiān)聽鼠標(biāo)的功能,文章的示例代碼講解詳細(xì),對我們的學(xué)習(xí)或工作有一定的價(jià)值,感興趣的小伙伴可以了解一下2021-12-12

