def settings(): win = Toplevel() win.title('Nastavení') win.minsize(900, 700) win.maxsize(900, 700) # bottom frame bottom_frame = Frame(win) apply_button = Button(bottom_frame, text="Uložit", width=6, command=win.destroy).pack(side=RIGHT) cancel_button = Button(bottom_frame, text="Zrušit", width=6, command=win.destroy).pack(side=RIGHT) ok_button = Button(bottom_frame, text="OK", width=6, command=win.destroy).pack(side=RIGHT) bottom_frame.pack(side=BOTTOM, fill=BOTH) # right frame right_frame_main = ScrollableFrame(win) right_frame = right_frame_main.scrollable_frame # draw general settings window general_draw(right_frame) right_frame_main.pack(side=RIGHT, expand=1, fill=BOTH) # left frame left_frame = Frame(win, highlightthickness=1, highlightbackground="grey") general_button = Button(left_frame, text="Obecné", width=10, command=lambda: general_draw(right_frame)).pack() stream_button = Button(left_frame, text="Stream", width=10, command=lambda: stream_draw(right_frame)).pack() output_button = Button(left_frame, text="Výstup", width=10, command=lambda: output_draw(right_frame)).pack() audio_button = Button(left_frame, text="Audio", width=10, command=lambda: audio_draw(right_frame)).pack() video_button = Button(left_frame, text="Video", width=10, command=lambda: video_draw(right_frame)).pack() advanced_button = Button( left_frame, text="Pokročilé", width=10, command=lambda: advanced_draw(right_frame)).pack() left_frame.pack(side=LEFT, fill=Y, padx=10, pady=10)
def get_windows(width: int, history: List[Dict[str, int]], deficiencies: List[Tuple[str, int]], names: List[str]) -> tk.Tk: """ Create tkinter window :param width: length of processes :param history: list of histories :param deficiencies: list of rewounds :param names: names of algorithms :return: """ # creating root root = tk.Tk() wd = str(width * 50) root.geometry(f'{wd}x500') # main frame of app main_frame = ScrollableFrame(root) main_frame.pack(expand=True, fill='both') # drawing all history in canvas draw_all(history, deficiencies, names, main_frame.frame) return root
def draw_personal_route(personalized_route): # Окно персонализированного маршрута main_window = Toplevel(root) main_window.minsize(width=550, height=700) route_header_frame = Frame(main_window, highlightbackground="#c7c7c7", highlightthickness=1) route_header_frame.pack(side=TOP, pady=4) destinations_text_label = Label(route_header_frame, text='{} - {}'.format( personalized_route.point_a, personalized_route.point_b), font='Roboto 14 bold') destinations_text_label.pack(side=TOP) distance_text_label = Label(route_header_frame, text='Дистанция - {}'.format( personalized_route.distance), font='Roboto 12 underline') distance_text_label.pack() time_text_label = Label(route_header_frame, text='Время - {}'.format(personalized_route.time), font='Roboto 12') time_text_label.pack() route_type_text_label = Label(route_header_frame, text='Тип маршрута - {}'.format( personalized_route.kind), font='Roboto 12') route_type_text_label.pack() route_frame = Frame(main_window, highlightbackground="#c7c7c7", highlightthickness=2) route_frame.pack(expand=1, fill=BOTH, pady=4, padx=4) frame = ScrollableFrame(route_frame) for place_to_draw in personalized_route.route: place_frame = Frame(frame.scrollable_frame, highlightbackground="#0093c4", highlightthickness=2) place_frame.pack() name_text_label = Label(frame.scrollable_frame, text=place_to_draw.name, font='Roboto 13 bold', justify=LEFT) name_text_label.pack() description_text_label = Message(frame.scrollable_frame, text=place_to_draw.description, font='Roboto 11') description_text_label.pack() kind_text_label = Label(frame.scrollable_frame, text=place_to_draw.kind, font='Roboto 11 underline', justify=LEFT) kind_text_label.pack() address_text_label = Message(frame.scrollable_frame, text=place_to_draw.address, font='Roboto 12', justify=LEFT) address_text_label.pack() working_hours_text_label = Label(frame.scrollable_frame, text='Работает: {}'.format( place_to_draw.working_hours), font='Roboto 11', justify=LEFT) working_hours_text_label.pack() frame.pack(expand=1, fill=BOTH)