简介
看到了一个能够轻松实现获取系统运行的进程和系统利用率(包括CPU、内存、磁盘、网络等)信息的模块–psutil模块。这次利用psutil.net_io_counters()这个方法。
psutil模块使用
>>> psutil.net_io_counters() # 获取网络读写字节/包的个数
snetio(bytes_sent=16775953, bytes_recv=712657945, packets_sent=216741, packets_recv=485775, errin=0, errout=0, dropin=0, dropout=0)
bytes_sent:上传数据
bytes_recv: 接收数据
主界面
class NetWindows(QMainWindow):
net_signal = pyqtSignal(str,str)
def __init__(self):
super(NetWindows,self).__init__()
self.ui_init()
self.thread_init()
def ui_init(self):
self.setWindowTitle('网速')
self.resize(200,80)
self.setWindowOpacity(0.9) # 设置窗口透明度
self.setWindowFlag(Qt.FramelessWindowHint) # 隐藏边框
self.setWindowFlag(Qt.WindowStaysOnTopHint) # 窗口始终显示在最前面
self.upload_icon = QLabel()
self.upload_icon.setPixmap(QPixmap(':res/upload.png'))
self.upload_icon.setScaledContents(True)
self.download_icon = QLabel()
self.download_icon.setPixmap(QPixmap(':res/download.png'))
self.download_icon.setScaledContents(True)
self.upload_text = QLabel()
self.upload_text.setText('upload: ')
self.download_text = QLabel()
self.download_text.setText('download: ')
self.upload_lab = QLabel()
self.download_lab = QLabel()
self.g_layout = QGridLayout()
self.g_layout.addWidget(self.upload_icon,0,0,1,1)
self.g_layout.addWidget(self.download_icon,1,0,1,1)
self.g_layout.addWidget(self.upload_text,0,1,1,1)
self.g_layout.addWidget(self.download_text,1,1,1</