Reputation: 139
I would like to know how to shorten the code (below) by using a list:
photo_name = tk.IntVar()
lat = tk.IntVar()
lon = tk.IntVar()
ts = tk.IntVar()
gps_lat_r = tk.IntVar()
gps_lat = tk.IntVar()
gps_lon_r = tk.IntVar()
gps_lon = tk.IntVar()
gps_img_d_r = tk.IntVar()
gps_img_d = tk.IntVar()
gps_info = tk.IntVar()
What I have tried:
meta_data = [
photo_name, lat, lon, ts, gps_lat_r, gps_lat, gps_lon_r, gps_lon, gps_img_d_r, gps_img_d, gps_info
]
x = 0
for c in meta_data:
c[x] = tk.IntVar()
x = x + 1
However an error returns 'name 'photo_name' is not defined.
Upvotes: 0
Views: 178
Reputation: 139
This solution works for the question.
meta_data = [
'photo_name', 'lat', 'lon', 'ts', 'gps_lat_r', 'gps_lat', 'gps_lon_r', 'gps_lon', 'gps_img_d_r', 'gps_img_d', 'gps_info'
]
variables = dict()
for c in meta_data:
variables[c] = tk.IntVar()
Upvotes: 2