-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSettings.py
More file actions
98 lines (68 loc) · 3.28 KB
/
Settings.py
File metadata and controls
98 lines (68 loc) · 3.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
import tkinter as tk
class Settings:
# Settings options
temp_unit_options = ["Fahrenheit", "Celsius"]
wind_unit_options = ["MPH", "KPH"]
pressure_unit_options = ["inHg", "hPa"]
rain_unit_options = ["in", "mm"]
# Constructor
def __init__(self, temp_unit, wind_unit, pressure_unit, rain_unit):
self.temp_unit = temp_unit
self.wind_unit = wind_unit
self.pressure_unit = pressure_unit
self.rain_unit = rain_unit
settings = tk.Toplevel()
settings.title("Settings")
settings.minsize(500, 500)
settings_title = tk.Label(master=settings, text="Settings", font="Arial 24")
settings_title.pack()
# Create a frame to hold the settings options
settings_frame = tk.Frame(master=settings, width=500, height=500)
settings_frame.pack()
# Temperature unit
temp_label = tk.Label(master=settings_frame, text="Temperature Unit:")
temp_label.pack()
temp_selected = tk.StringVar()
temp_selected.set(self.temp_unit)
temp_unit_selector = tk.OptionMenu(settings_frame, temp_selected, *self.temp_unit_options)
temp_unit_selector.pack()
# Wind unit
wind_label = tk.Label(master=settings_frame, text="Wind Unit:")
wind_label.pack()
wind_selected = tk.StringVar()
wind_selected.set(self.wind_unit)
wind_unit_selector = tk.OptionMenu(settings_frame, wind_selected, *self.wind_unit_options)
wind_unit_selector.pack()
# Pressure unit
pressure_label = tk.Label(master=settings_frame, text="Pressure Unit:")
pressure_label.pack()
pressure_selected = tk.StringVar()
pressure_selected.set(self.pressure_unit)
pressure_unit_selector = tk.OptionMenu(settings_frame, pressure_selected, *self.pressure_unit_options)
pressure_unit_selector.pack()
# Rain unit
rain_label = tk.Label(master=settings_frame, text="Rain Unit:")
rain_label.pack()
rain_selected = tk.StringVar()
rain_selected.set(self.rain_unit)
rain_unit_selector = tk.OptionMenu(settings_frame, rain_selected, *self.rain_unit_options)
rain_unit_selector.pack()
def close_settings():
settings.destroy()
# Update settings
def update_settings(temp_unit, wind_unit, pressure_unit, rain_unit):
self.temp_unit = temp_unit
self.wind_unit = wind_unit
self.pressure_unit = pressure_unit
self.rain_unit = rain_unit
return self.temp_unit, self.wind_unit, self.pressure_unit, self.rain_unit
def getSettings(self):
return self.temp_unit, self.wind_unit, self.pressure_unit, self.rain_unit
# Update button
update_button = tk.Button(master=settings, text="Update", command=update_settings(temp_selected.get(), wind_selected.get(), pressure_selected.get(), rain_selected.get()))
update_button.pack()
# Close button
close_button = tk.Button(master=settings, text="Close", command=close_settings)
close_button.pack()
def getSettings(self):
return self.temp_unit, self.wind_unit, self.pressure_unit, self.rain_unit