📅  最后修改于: 2023-12-03 15:36:36.761000             🧑  作者: Mango
本项目旨在使用Python构建一个GUI应用程序,帮助用户获取两个地方之间的距离。用户可以输入起点和终点的经纬度坐标,程序会返回两点之间的距离,单位为公里。
geopy
模块来计算两点之间的距离。click
事件中,获取用户输入的经纬度坐标并调用geopy
模块来计算距离,并在界面上显示距离。import tkinter as tk
class DistanceCalculator:
def __init__(self, master):
self.master = master
master.title("Distance Calculator")
self.label_start = tk.Label(master, text="起点坐标:")
self.label_start.grid(row=0, column=0)
self.entry_start = tk.Entry(master)
self.entry_start.grid(row=0, column=1)
self.label_end = tk.Label(master, text="终点坐标:")
self.label_end.grid(row=1, column=0)
self.entry_end = tk.Entry(master)
self.entry_end.grid(row=1, column=1)
self.button_calculate = tk.Button(master, text="计算距离", command=self.calculate_distance)
self.button_calculate.grid(row=2, column=1)
self.label_result = tk.Label(master, text="")
self.label_result.grid(row=3, column=1)
def calculate_distance(self):
start = self.entry_start.get()
end = self.entry_end.get()
distance = self.get_distance(start, end)
self.label_result.config(text=f"两点之间的距离为{distance}公里。")
def get_distance(self, start, end):
from geopy.distance import geodesic
start = tuple(map(float, start.split(",")))
end = tuple(map(float, end.split(",")))
return round(geodesic(start, end).km, 2)
root = tk.Tk()
app = DistanceCalculator(root)
root.mainloop()
该程序使用 tkinter
模块创建了一个窗口,在窗口中包括两个文本框用于输入经纬度坐标和一个按钮用于触发计算距离的操作。
用户在文本框中输入经纬度坐标(例如:39.9042° N, 116.4074° E),然后点击 "计算距离" 按钮,程序会计算出两点之间的距离,并在界面上显示距离,单位为公里。
该程序使用 Python 标准库中的 geopy
模块来计算两点之间的距离。在按钮的 click
事件中,通过调用 get_distance
函数来计算距离,然后在界面上显示距离。