import customtkinter as Ctk import scripts.get_sys_info as system_code import platform from icons.icons import Icons class ClosePopup(Ctk.CTkToplevel): def __init__(self,master, callback, **kwargs, ): super().__init__(master, **kwargs) system_code.load_json_file() self.icons = Icons(path=system_code.data_path) self.my_font = Ctk.CTkFont(family="Berlin Sans FB", size=22) self.geometry("400x300") self.resizable(False, False) if platform.system() == "Windows": icon_path = self.icons.get_icon_path() self.iconbitmap(icon_path) self.after(201, lambda: self.iconbitmap(icon_path)) self.callback = callback self.label = Ctk.CTkLabel(self, text="Do you want to leave?\n You might lose some Data", font=self.my_font) # Add exit button self.exit_button = Ctk.CTkButton(self, text="Exit",fg_color="#bd202d",hover_color="#f24150", command=self.confirm_exit, font=self.my_font) # Add leave button self.leave_button = Ctk.CTkButton(self, text="Stay", command=self.destroy, font=self.my_font) self.grab_set() #aligning self.align() # Confirm exit method def confirm_exit(self): self.destroy() # Closes the ToplevelWindow self.callback() def align(self): self.label.place( relx=0.5, rely=0.4, anchor="center", ) self.exit_button.place( relx=0.25, rely=0.6, anchor="center", ) self.leave_button.place( relx=0.75, rely=0.6, anchor="center", )