他のボタンの再現と 各コマンドについて考える
#運動タイマー用ボタンフレームその2 #計測スタート、ストップ、リセット、休憩タイム(3分固定)をフレームその2とする #各コマンドを作成 #ただしリセットに関してはタイマー表示が強制的に00:00に変化する #フレームの線は4pt, 各ボタンの線は5ptに設定 #ボタンの通常形態はオレンジ系統の色 #ボタンを押すと赤色系統の色に変化する import customtkinter as ctk class btn_frame_two(ctk.CTkFrame): def __init__(self, master, **kwargs): super().__init__(master, **kwargs) def start_measurement_btn_click_event(): self.start_measurement_btn.configure(fg_color='#ed1a3d') def break_three_minutes_btn_click_event(): self.break_three_minutes_btn.configure(fg_color='#ed1a3d') def reset_btn_click_event(): self.start_measurement_btn.configure(fg_color='#FF9932') self.break_three_minutes_btn.configure(fg_color='#FF9932') timer_display_reset_event def timer_display_reset_event(event): self.timer_display_label.configure(text='00:00', anchor="center", font=('Helvetica', 40) ) #フレームに追加したいウィジェットを配置していく self.start_measurement_btn = ctk.CTkButton(master=self, text="計測スタート", border_width=5, corner_radius=6, anchor="center", fg_color="#FF9932", width=10, text_color="white", font=('Helvetica', 26), command=start_measurement_btn_click_event) self.start_measurement_btn.grid(row=0, column=0, padx=30, pady=10) self.stop_btn = ctk.CTkButton(master=self, text="ストップ", border_width=5, corner_radius=6, anchor="center", fg_color="#FF9932", width=10, text_color="white", font=('Helvetica', 26) ) self.stop_btn.grid(row=1, column=0, padx=30, pady=20) self.reset_btn = ctk.CTkButton(master=self, text="リセット", border_width=5, corner_radius=6, anchor="center", fg_color="#FF9932" , width=10, text_color="white", font=('Helvetica', 26), command=reset_btn_click_event) self.reset_btn.grid(row=2, column=0, padx=30, pady=20) self.break_three_minutes_btn = ctk.CTkButton(master=self, text="休憩タイム(3分固定)", border_width=5, corner_radius=6, anchor="center", fg_color="#FF9932", width=10, text_color="white", font=('Helvetica', 26), command=break_three_minutes_btn_click_event) self.break_three_minutes_btn.grid(row=3, column=0, padx=30, pady=20) #タイマー表示:時間を表示する部分 self.timer_display_label = ctk.CTkLabel(master=self, text="50:00", anchor="center", font=('Helvetica', 40)) self.timer_display_label.grid(row=2, column=1, padx=40, pady=10) self.timer_display_label.bind("<ButtonPress>", command=reset_btn_click_event, add=timer_display_reset_event) class btn_app(ctk.CTk): def __init__(self): super().__init__() self.geometry("800x400") self.title("運動タイマー用ボタンフレームその2_計測スタートやリセット、休憩タイムの再現") self.timer_one_frame = btn_frame_two(master=self, fg_color="white", border_color="blue", border_width=4, width=100, height=50) self.timer_one_frame.grid(row=0, column=0, padx=40) app = btn_app() app.mainloop()
再現すると このような感じになった


スタート、ストップやタイマー表示が 表示出来た。
またリセットボタンを押すとスタート、休憩ボタンの 色が元に戻るようにも出来た
コマンドについては、次回解説を付ける
タイマー表示をリセットするコマンドは だいぶ時間をかけて実現する事になりそう