我是Python和GUI开发的新手。
我试着在橱窗里展示一周的计划。我已经准备了一份日期列表,我想循环浏览,为每一天创建一个框架:
这部分没问题,我的问题是指定框架的名称,如下所示:Monday_frame;星期二_框架。。。
我可以直接在7帧的代码中完成,但我想了解在for循环中完成的可能性。
这是我的试用版,但我不明白如何添加“day”值来替换“day_frame”中的“day”。
(我使用CustomTkinter而不是Tkinter作为接口,这就是为什么下面的代码中有“CTk”而不是“Tk”。)
week = ['Lundi','Mardi','Mercredi','Jeudi','Vendredi','Samedi','Dimanche']
for day in week:
day_frame = CTkFrame(master=week_frame, bg_color=window_color,border_color='white',border_width=2,fg_color=window_color)
day_frame.pack(side=LEFT, fill=Y, expand=YES)
编辑:
帧没有动态命名,使用建议的字典,以天为键,以帧为值。请参阅下面的代码和使用示例:
(由于其他变化,图片略有差异。请参阅第二天的白色前景作为字典使用的示例。)
week = ['Lundi','Mardi','Mercredi','Jeudi','Vendredi','Samedi','Dimanche']
frames = {}
for day in week:
day_frame = CTkFrame(master=week_frame, bg_color=window_color,border_color='white',border_width=2,fg_color=window_color)
day_frame.pack(side=LEFT, fill=Y, expand=YES)
frames[day] = day_frame
frames['Mardi'].configure(fg_color='white')