我想知道如何缩短代码(下面)通过使用列表:
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()
我已经试过了:
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
但是一个错误返回'name 'photo_name'没有定义。
这个解决方案对这个问题有效。
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()