Python编写Windows的PING功能上位机软件

1.利用tkinter制作界面操控和显示,界面有输入框和PING按钮,可视化操作。

 2.输入IP地址后,点击ping按钮,实现与电脑相同的ping操作。

 3.代码展示

import subprocess
import tkinter as tk
from tkinter import messagebox
import os


def ping_host(host):
    """执行ping命令并返回结果"""
    try:
        # Windows系统使用'ping'命令,Linux/macOS系统使用'ping -c 4'(执行4次ping)
        if os.name == 'nt':  # Windows系统
            command = ['ping', host]
        else:  # Linux/macOS系统
            command = ['ping', '-c', '4', host]
        result = subprocess.run(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
        output = result.stdout
        if result.returncode == 0:
            return f"Ping to {host} successful.\n{output}"
        else:
            return f"Ping to {host} failed.\n{output}"
    except Exception as e:
        return f"An error occurred: {e}"


def on_ping_button_click():
    host = host_entry.get()
    if not host:
        messagebox.showerror("错误!", "请输入主机名或IP地址.")
        return
    result = ping_host(host)
    result_label.config(text=result)


# 创建主窗口
root = tk.Tk()
root.title("Ping 工具")



# 获取屏幕的宽度和高度
screen_width = root.winfo_screenwidth()
screen_height = root.winfo_screenheight()

# 计算窗口的初始位置,使其位于屏幕中央
window_width = 400
window_height = 300
x_offset = (screen_width - window_width) // 2
y_offset = (screen_height - window_height) // 2

# 设置窗口的初始位置和大小
root.geometry(f"{window_width}x{window_height}+{x_offset}+{y_offset}")



# 创建标签和输入框
host_label = tk.Label(root, text="请输入IP地址:")
host_label.pack()
host_entry = tk.Entry(root)
host_entry.pack()

# 创建ping按钮
ping_button = tk.Button(root, text="Ping", command=on_ping_button_click)
ping_button.pack()

# 创建结果标签
result_label = tk.Label(root, text="")
result_label.pack()

# 运行主循环
root.mainloop()

4.由此借鉴可以开发多个设备ping的操作,开发工业互联中多个设备的网络自检小程序。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值