|  | 
 
 
 楼主|
发表于 2021-9-17 15:51:39
|
显示全部楼层 
| import threading
 import tkinter as tk
 from tkinter import ttk
 import speedtest
 
 root = tk.Tk()
 root.geometry("300x233")
 root.iconbitmap("favicon.ico")
 root.title("网速测试")
 
 frm = tk.LabelFrame(root, text="测试结果")
 frm.pack(padx=10, pady=10, fill=tk.X)
 
 lbl_d = tk.Label(frm, text="下载速度:", font=("DS-Digital", 20))
 lbl_d.grid(row=0, column=0, sticky=tk.W, padx=10)
 
 lbl_dl = tk.Label(frm, text="", font=("DS-Digital", 20))
 lbl_dl.grid(row=0, column=1, sticky=tk.W, padx=10)
 
 
 lbl_u = tk.Label(frm, text="上传速度:", font=("DS-Digital", 20))
 lbl_u.grid(row=1, column=0, sticky=tk.W, padx=10)
 
 lbl_ul = tk.Label(frm, text="", font=("DS-Digital", 20))
 lbl_ul.grid(row=1, column=1, sticky=tk.W, padx=10)
 
 
 def start_test():
 def action():
 fishc = speedtest.Speedtest()
 pb.pack(padx=10, pady=10)
 pb.start()
 fishc.get_servers()
 dl = fishc.download()
 ul = fishc.upload()
 lbl_dl.config(text=f"{dl / 1024 / 1024:.2f} Mbits")
 lbl_ul.config(text=f"{ul / 1024 / 1024:.2f} Mbits")
 pb.stop()
 pb.pack_forget()
 btn.config(state=tk.NORMAL)
 btn.config(state=tk.DISABLED)
 threading.Thread(target=action).start()
 
 
 pb = ttk.Progressbar(root, orient=tk.HORIZONTAL,
 length=3800, mode="indeterminate")
 
 btn = tk.Button(root, text="开始测速", height=2, command=start_test)
 btn.pack(padx=5, pady=5, fill=tk.X, expand=True)
 
 
 root.mainloop()
 
 | 
 |