from tkinter import * from functools import partial class DisplayHelp: # displays help dialogue box def __init__(self, partner): background = "#ffe6cc" self.help_box = Toplevel() # disable help button while help is open partner.button_ref_list[5].config(state=DISABLED) self.help_box.protocol("WM_DELETE_WINDOW", partial(self.close_help, partner)) self.help_frame = Frame(self.help_box, bg=background) self.help_frame.grid() self.help_heading_label = Label(self.help_frame, text="Help / Info", font=("Arial", "14", "bold"), bg=background) self.help_heading_label.grid(row=0) help_text = ("To use the program, simply enter an amount " "in New Zealand Dollars (NZD) and then press " "one of the currency buttons to convert it.\n\n" "The exchange rates used are approximate and " "may not reflect live market rates.\n\n" "To see your calculation history and export it " "to a text file, please click the " "'History / Export' button.") self.help_text_label = Label(self.help_frame, text=help_text, wraplength=350, justify="left", bg=background) self.help_text_label.grid(row=1, padx=10) self.dismiss_button = Button(self.help_frame, text="Dismiss", bg="#CC6600", fg="#FFFFFF", font=("Arial", "12", "bold"), command=partial(self.close_help, partner)) self.dismiss_button.grid(row=2, padx=10, pady=10) def close_help(self, partner): # closes help window and re-enables help button partner.button_ref_list[5].config(state=NORMAL) self.help_box.destroy() # main routine if __name__ == "__main__": root = Tk() root.title("Help Info") DisplayHelp() root.mainloop()