Amazing-Python-Scripts

Форк
0
68 строк · 2.1 Кб
1
from speedtest import Speedtest
2
import tkinter as tk
3
from tkinter import ttk
4
from ttkthemes import ThemedStyle
5

6
PRIMARY_COLOR = "#4287f5"
7
SECONDARY_COLOR = "#ffffff"
8

9
speed = Speedtest()
10

11

12
def measure_internet_speed():
13
    print("Running speed test...")
14

15
    download_speed = speed.download()
16
    # To Convert to Mbps
17
    download_speed = download_speed / 1024 / 1024
18
    print(f"Download Speed: {download_speed:.2f} Mbps")
19
    download_label.config(text=f"Download Speed: {download_speed:.2f} Mbps")
20

21
    upload_speed = speed.upload()
22
    # To Convert to Mbps
23
    upload_speed = upload_speed / 1024 / 1024
24
    print(f"Upload Speed: {upload_speed:.2f} Mbps")
25
    upload_label.config(text=f"Upload Speed: {upload_speed:.2f} Mbps")
26

27
    ping_latency = speed.results.ping
28
    print(f"Ping latency: {ping_latency:.2f} ms")
29
    ping_label.config(text=f"Latency: {ping_latency:.2f} ms")
30

31
    server = speed.get_best_server()
32
    print(f"Server: {server['sponsor']} ({server['name']})")
33
    server_label.config(text=f"Server: {server['sponsor']} ({server['name']})")
34

35

36
window = tk.Tk()
37
window.title("Internet Speed Test")
38
window.geometry("500x250")
39

40

41
style = ThemedStyle(window)
42
style.theme_use('clam')
43
style.configure("TLabel", foreground=PRIMARY_COLOR, background=SECONDARY_COLOR)
44
style.configure("TButton", foreground=SECONDARY_COLOR,
45
                background=PRIMARY_COLOR)
46

47

48
download_label = ttk.Label(
49
    window, text="Download Speed: ", font=("TkDefaultFont", 15, "bold"))
50
download_label.pack(pady=10)
51

52
upload_label = ttk.Label(window, text="Upload Speed: ",
53
                         font=("TkDefaultFont", 15, "bold"))
54
upload_label.pack(pady=10)
55

56
ping_label = ttk.Label(window, text="Latency: ",
57
                       font=("TkDefaultFont", 15, "bold"))
58
ping_label.pack(pady=10)
59

60
server_label = ttk.Label(window, text="Server: ",
61
                         font=("TkDefaultFont", 15, "bold"))
62
server_label.pack(pady=10)
63

64
measure_button = tk.Button(window, text=" Run Speed Test ", command=measure_internet_speed,
65
                           fg=SECONDARY_COLOR, bg=PRIMARY_COLOR, font=("TkDefaultFont", 12, "bold"))
66
measure_button.pack(pady=10)
67

68
window.mainloop()
69

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.