吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4134|回复: 78
收起左侧

[Python 原创] 网络速度显示小插件

  [复制链接]
jwzyjwzy 发表于 2022-11-16 18:28
本帖最后由 jwzyjwzy 于 2022-11-17 12:22 编辑

今天逛论坛发现一篇挺实用的帖子@sgbyg python_tk写的网速监控 - 『编程语言区』 - 吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn
不知道是不是因为Linux系统的缘故apt-get install python3-tk安装tk后运行提示
ImportError: No module named '_tkinter'
我就用改成qt框架稍微弄了一下
[Python] 纯文本查看 复制代码
#!/usr/bin/python
from PyQt5.QtWidgets import QApplication, QWidget, QLCDNumber, QDesktopWidget, QVBoxLayout,QLabel
from PyQt5.QtGui import *
from PyQt5.QtCore import *
import time
import sys
import psutil

class Speed(QWidget):
    def __init__(self):
        super(Speed, self).__init__()
        self.initUI()
        self.worker = MyWorker()
        self.worker.timeout.connect(self.upgradeProgress)
        self.worker.start()
 
    def initUI(self):
        self.setWindowFlags(Qt.WindowStaysOnTopHint | Qt.FramelessWindowHint)
        self.setAttribute(Qt.WA_TranslucentBackground)
        self.resize(160, 70)
        self.up = QLabel(self)
        self.up.setGeometry(5, 5, 160, 20)
        self.down = QLabel(self)
        self.down.setGeometry(5, 28, 160, 20)
        #设置文字颜色
        #单独设置
        self.up.setStyleSheet("color:#e1b16a")
        self.down.setStyleSheet("color:#ce4a57")
 
        ##统一设置(按照css语法在此设置字体,颜色,大小)
        self.setStyleSheet("QLabel{font-size:20px;font-weight:bold}")
 
        #设置字体
        self.show()
    
    def upgradeProgress(self,a):
        if(a[0]/1024.0<0.88):
            self.up.setText("上传 "+str(a[0])[:5]+"Kb/s")
        else:
            self.up.setText("上传 "+str(a[0]/1024.0)[:5]+"Mb/s")
        if(a[1]/1024.0<0.88):
            self.down.setText("下载 "+str(a[1])[:5]+"Kb/s")
        else:
            self.down.setText("下载 "+str(a[1]/1024.0)[:5]+"Mb/s")

    def mousePressEvent(self, event):
        if event.button()==Qt.LeftButton:
            self.m_flag=True
            self.m_Position=event.globalPos()-self.pos()
            event.accept()
            self.setCursor(QCursor(Qt.OpenHandCursor))
 
    def mouseMoveEvent(self, QMouseEvent):
        if Qt.LeftButton and self.m_flag: 
            self.move(QMouseEvent.globalPos()-self.m_Position)
            QMouseEvent.accept()
    def mouseReleaseEvent(self, QMouseEvent):
        self.m_flag=False
        self.setCursor(QCursor(Qt.ArrowCursor))    
 
class MyWorker(QThread):
    timeout = pyqtSignal(list)

    def __init__(self):
        super(MyWorker, self).__init__()
        self.a=[]

    def run(self):
        while True:
            self.a=[]
            self.s=(psutil.net_io_counters()[0])
            self.r=(psutil.net_io_counters()[1])
            self.sleep(1)
            self.a.append((psutil.net_io_counters()[0] - self.s) / 1024.0)
            self.a.append((psutil.net_io_counters()[1] - self.r) / 1024.0)
            self.timeout.emit(self.a)
            

if __name__ == '__main__':
    app = QApplication(sys.argv)
    m_time = Speed()
    m_time.show()
    sys.exit(app.exec_())

可以拖动,可以正常显示Mb/s 截图_2022-11-16_05-07-30.png 屏幕截图 2022-11-17 122201.png
2022年11月17日 修复了卡顿,突然跳几千Mb/s,等Bug

免费评分

参与人数 4吾爱币 +6 热心值 +4 收起 理由
苏紫方璇 + 3 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
ysy2001 + 1 + 1 谢谢@Thanks!
湫兮如风丶 + 1 + 1 谢谢@Thanks!
dy2022 + 1 + 1 谢谢@Thanks!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

悠扬Le逍遥 发表于 2022-11-16 18:38
本帖最后由 悠扬Le逍遥 于 2022-11-17 10:47 编辑

火绒自带功能
设置-常规设置-基础设置-显示流量悬浮窗
或右击托盘火绒图标--流量悬浮窗
 楼主| jwzyjwzy 发表于 2022-11-20 17:47
muchenxi 发表于 2022-11-19 13:18
为什么我运行出来只有上传和下载的数据显示,而且不能拖动

你发的图片好像挂了我看不见,如果显示不完整可以尝试调小字号或者修改gui窗口的大小,Windows下确实不好拖动这个是qt的锅对,准文字就可以拖动,建议在Windows下点击“Kb/s”那里比较好拖动
C斯咚喃 发表于 2022-11-16 18:35
这个图片中任务栏怎么在顶部呢,还是说这是浏览器的顶部?网速显示在哪里呢
 楼主| jwzyjwzy 发表于 2022-11-16 18:35
本帖最后由 jwzyjwzy 于 2022-11-16 18:37 编辑
C斯咚喃 发表于 2022-11-16 18:35
这个图片中任务栏怎么在顶部呢,还是说这是浏览器的顶部?网速显示在哪里呢
在右侧,亲
乌雷豹 发表于 2022-11-16 18:40
学习下,多谢分享
DSugar 发表于 2022-11-16 18:43
z支持,看着不错的。
 楼主| jwzyjwzy 发表于 2022-11-16 18:43
悠扬Le逍遥 发表于 2022-11-16 18:38
火绒自带功能
设置-常规设置-基础设置-显示流量悬浮窗

好像火绒没有linux版吧...
阿诺ヽ 发表于 2022-11-16 18:45
https://github.com/zhongyang219/TrafficMonitor
aag 发表于 2022-11-16 18:47
mb linux dl
 楼主| jwzyjwzy 发表于 2022-11-16 18:48
阿诺ヽ 发表于 2022-11-16 18:45
https://github.com/zhongyang219/TrafficMonitor

你这个只适合windows而且我只想要个可视化的网速而已没有别的需求
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 02:03

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表