基于PyQt5的网络调试助手开发

前言

网络调试助手是一款非常实用的工具,广泛应用于网络编程和调试过程中。本文将介绍如何使用PyQt5开发一款简单的网络调试助手,支持UDP、TCP服务端和客户端功能。

准备工作

在开始之前,请确保您的开发环境已经安装了以下库:

  • PyQt5

可以使用以下命令进行安装:

pip install PyQt5

项目结构

项目的目录结构如下:

network_debugger/
├── main.py
├── net_ui.py
└── UDP.py
├── TCP_Server.py
└── ...

界面设计

我们将使用PyQt5 Designer来设计界面,然后通过pyuic5工具将其转换为Python代码。

主界面

主界面包含以下元素:

  • 三个comboBox,分别用于选择协议类型、IP以及端口
  • 俩个文本框,用于显示日志信息以及输入发送信息
  • 五个按钮,用于打开、发送以及清除
  • 若干标签以及checkBox

 

使用PyQt5 Designer设计好界面后,保存为net.ui,然后使用以下命令将其转换为Python代码:

pyuic5 -o ui_net.py net.ui

 生成的示例

界面显示 

新建一个main.py文件,运行后显示所设计的界面。

import sys
from PyQt5.QtWidgets import *
 
 
class Net(qw.QWidget):
    def __init__(self):
        super().__init__()
        self.ui = net_ui.Ui_Form()
        self.ui.setupUi(self)
 
 
if __name__ == "__main__":
    app = QApplication(sys.argv)
    window = Net()
    window.setWindowTitle('网络调试助手')
    window.show()
    sys.exit(app.exec_())

如下所示: 

功能实现:

获取本机的IP地址

 def search_ip(self):  # ip更新
        list_ip = QNetworkInterface.allAddresses() 
        scan_ip = []  
        for ip in list_ip:  
            if ip.isNull():  
                continue
            n_protocol = ip.protocol()  
            if n_protocol == 0:  
                scan_ip.append(ip.toString())
        return scan_ip 

 

定时循环发送

    def loop(self, state):

        if state == 2:  # 根据状态决定是否处理定时任务
            time_data = self.ui.lineEdit_time.text()  
            if time_data:
                self.time_send.start(int(time_data)) 
            else:
                QMessageBox.warning(self, '错误信息', '请输入定时周期!!!')  
                return
        else:
            self.time_send.stop()  

 最终效果

基于PYQT5的网络调试助手

 

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

到点就困告

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值