def __init__(self, master, **kwargs): Frame.__init__(self, master) self.autoscroll_check = Checkbutton(self, text='Autoscroll', takefocus=False) self.autoscroll_check.pack(side=LEFT, anchor=W, padx=8) Separator(self, orient=VERTICAL).pack(side=LEFT, fill=Y, pady=2) Label(self, text='Size:').pack(side=LEFT, padx=(8, 3)) self.font_down_button = Button(self, text='-', width=3, takefocus=False) self.font_down_button.pack(side=LEFT) self.font_size_label = Label(self, text='24', padding=(6, 2, 6, 2), relief=SOLID, borderwidth=1) self.font_size_label.pack(side=LEFT, padx=4) self.font_up_button = Button(self, text='+', width=3, takefocus=False) self.font_up_button.pack(side=LEFT, padx=(0, 8)) Separator(self, orient=VERTICAL).pack(side=LEFT, fill=Y, pady=2) Label(self, text='Speed:').pack(side=LEFT, padx=(8, 3)) self.speed_control_frame = SpeedControlFrame(self) self.speed_control_frame.pack(side=LEFT, padx=(0, 8)) Separator(self, orient=VERTICAL).pack(side=LEFT, fill=Y, pady=2) self.always_on_top_check = Checkbutton(self, text='Top', takefocus=False) self.always_on_top_check.pack(side=LEFT, padx=(8, 0))
def __init__(self, parent, theme_name: str): # initializes this frame and its sub frames tkinter.Frame.__init__(self, parent) self.model: FinanceManagerModel = None self.color_manager: ColorManager = None self.fd: FileDisplay = FileDisplay(self) self.fd.set_listener(self) self.fd.grid(row=0, column=0, sticky=tkinter.NS) separator1 = Separator(self, orient="vertical") separator1.grid(row=0, column=1, sticky='ns') self.tv: TableVisualizer = TableVisualizer(self) self.tv.add_listener(self) self.tv.grid(row=0, column=2, sticky=tkinter.NS) separator2 = Separator(self, orient="vertical") separator2.grid(row=0, column=3, sticky='ns') self.dv: DataVisualizer = DataVisualizer(self, text="Data Visualizer") self.dv.grid(row=0, column=4, sticky=tkinter.NS) if theme_name == "dark": self.set_color_manager( ColorManager(ColorTheme.get_dark_theme_dict())) else: self.set_color_manager( ColorManager(ColorTheme.get_default_theme_dict()))
def init_ui(self): self.segmentation_config_frame = SegmentationConfigFrame(self, self.configuration) Label(self, text="Segmentation").grid(row=0, column=0, sticky="w") self.segmentation_config_frame.grid(row=0, column=1, sticky="w") Separator(self, orient=HORIZONTAL).grid(row=1, column=0, sticky="ew", columnspan=2) self.spm_config_frame = SpmConfigFrame(self, self.configuration) Label(self, text="Color detection").grid(row=2, column=0, sticky="w") self.spm_config_frame.grid(row=2, column=1, sticky="w") Separator(self, orient=HORIZONTAL).grid(row=3, column=0, sticky="ew", columnspan=2) self.texture_config_frame = TextureConfigFrame(self, self.configuration) Label(self, text="Texture detection").grid(row=4, column=0, sticky="w") self.texture_config_frame.grid(row=4, column=1, sticky="w") Separator(self, orient=HORIZONTAL).grid(row=5, column=0, sticky="ew", columnspan=2) self.size_config_frame = SizeConfigFrame(self, self.configuration) Label(self, text="Image size").grid(row=6, column=0, sticky="w") self.size_config_frame.grid(row=6, column=1, sticky="w") Separator(self, orient=HORIZONTAL).grid(row=7, column=0, sticky="ew", columnspan=2) self.detection_path_frame = DetectionPathFrame(self, self.configuration) Label(self, text="Input image").grid(row=8, column=0, sticky="w") self.detection_path_frame.grid(row=8, column=1, sticky="w") Separator(self, orient=VERTICAL).grid(row=0, column=2, sticky="ns", rowspan=9)
def __init__(self, master, pakli, kep, nev, ertek, fuggveny, megtekint): Toplevel.__init__(self) self.master = master self.pakli = pakli self.nev = nev self.ertek = ertek self.fuggveny = fuggveny self.bezar = self.destroy cim = self.master.card_texts[self.nev][0] if self.nev == 'treasure': szoveg = self.master.card_texts[self.nev][1] % ertek else: szoveg = self.master.card_texts[self.nev][1] self.title(s.language.event_card if self.pakli == "event" else s.language.treasure_card) cimStilus = 'helvetica 14 bold' self.kartyalap = Frame(self, relief=GROOVE, bd=2, bg='ivory') Label(self.kartyalap, image=Gallery.get(kep)).pack() Separator(self.kartyalap, orient=HORIZONTAL).pack(fill=X) Label(self.kartyalap, wraplength=216, text=cim, font=cimStilus).pack(fill=X) Separator(self.kartyalap, orient=HORIZONTAL).pack(fill=X) self.szovegfelirat = Label(self.kartyalap, wraplength=216, text=szoveg) self.szovegfelirat.pack(fill=X) self.kartyalap.pack(pady=5, padx=5) if megtekint: pass else: exec(self.fuggveny) self.protocol("WM_DELETE_WINDOW", self.bezar) self.transient(self.master) self.resizable(False, False)
def __init__(self, main): super(ElementsFrame, self).__init__(main.screen) s = Style() s.configure('my.TButton', font=('Arial', 16)) self.main = main self.ask = None # RESPECT PEP8 self.title = Label(self, text=main.lang.get_translate( "elements_title", "Elements"), font=('Arial', '16')) add_element = Button(self, text=main.lang.get_translate( "elements_add", "Add Element"), style="my.TButton", command=self.add_elements) self.columnconfigure(0, weight=1) self.title.grid(row=0, column=0) Separator(self, orient=HORIZONTAL).grid(row=1, column=0, sticky="EW") add_element.grid(row=2, column=0, sticky="NESW", pady=5) Separator(self, orient=HORIZONTAL).grid(row=3, column=0, sticky="EW") self.elements_widgets = {} self.current_row = 4
def __init__(self, parent, main): Frame.__init__(self, parent) self.main = main self.next_frame = None self.prev_frame = None self.main_frame = ScrollFrame(self, self) self.main_frame.grid(row=0, column=0, sticky='nswe') variable_frame = Frame(self.main_frame.viewPort) variable_frame.grid(column=0, row=0, sticky='nswe', padx=20, pady=5) Label(variable_frame, text=LANGUAGES[settings.LANGUAGE]['stp3'], font='Arial 14 bold').grid(row=0, column=0, pady=2, sticky='w') variable_frame.columnconfigure(0, weight=0, minsize=150) variable_frame.columnconfigure(1, weight=1, minsize=200) Label(variable_frame, text=LANGUAGES[settings.LANGUAGE]['e_v'], font='Arial 11').grid(row=1, column=0, pady=20, sticky='w') Separator(variable_frame, orient=HORIZONTAL).grid(row=2, sticky='we', columnspan=3) Label(variable_frame, text=LANGUAGES[settings.LANGUAGE]['tmp'] + ' (K):').grid(row=3, column=0, sticky='w') self.temperature_entry = Spinbox(variable_frame, from_=0, to=100000, increment=0.1, bd=1, relief=SOLID) self.temperature_entry.grid(row=3, column=1, padx=2, sticky='w', pady=10) self.temp_advertise = Label(variable_frame, text='', font='Arial 10') self.temp_advertise.grid(row=3, column=2, sticky='w') Label(variable_frame, text=LANGUAGES[settings.LANGUAGE]['volume'] + ' (angstrom^3):').grid(row=4, column=0, sticky='w') self.volume_entry = Spinbox(variable_frame, increment=1, bd=1, relief=SOLID) self.volume_entry.grid(row=4, column=1, padx=2, sticky='w') Label(variable_frame, text=LANGUAGES[settings.LANGUAGE]['timestep'] + ' (fs):').grid(row=5, column=0, sticky='w') self.DT_FS_entry = Spinbox(variable_frame, increment=0.1, bd=1, relief=SOLID) self.DT_FS_entry.grid(row=5, column=1, padx=2, sticky='w', pady=10) Label(variable_frame, text=LANGUAGES[settings.LANGUAGE]['fl_v'], font='Arial 11').grid(row=6, column=0, pady=20, sticky='w') Separator(variable_frame, orient=HORIZONTAL).grid(row=7, sticky='we', columnspan=3) Label(variable_frame, text=LANGUAGES[settings.LANGUAGE]['fl_w'] + ' (THz):').grid(row=8, column=0, sticky='w') self.filter_width_entry = Spinbox(variable_frame, from_=0.1, to=10.0, increment=0.1, bd=1, relief=SOLID) self.filter_width_entry.grid(row=8, column=1, padx=2, sticky='w', pady=10) variable_frame.rowconfigure(9, weight=1) button_frame = Frame(variable_frame) button_frame.grid(row=9, column=0, sticky='ws', pady=20) Button(button_frame, text=LANGUAGES[settings.LANGUAGE]['back'], bd=1, relief=SOLID, font='Arial 12', command=lambda: self.back(), width=10).grid(row=0, column=0, sticky='we') Button(button_frame, text=LANGUAGES[settings.LANGUAGE]['next'], bd=1, relief=SOLID, font='Arial 12', command=lambda: self.next(), width=10).grid(row=0, column=1, padx=5, sticky='we')
def config_Style(self): Separator(root, orient='horizontal').grid(row=1, column=0, columnspan=7, sticky='esw') Separator(root, orient='horizontal').grid(row=0, column=0, columnspan=7, sticky='esw')
def __init__(self, parent: Tk, main): super(CommandSettingsWindow, self).__init__(parent) self._root = parent self._main = main w = 300 h = 250 # get screen width and height ws = self._root.winfo_screenwidth() # width of the screen hs = self._root.winfo_screenheight() # height of the screen # calculate x and y coordinates for the Tk window x = (ws / 2) - (w / 2) y = (hs / 2) - (h / 2) self._root.title('Command settings') # root.geometry('{}x{}'.format(300, 250)) self._root.geometry('%dx%d+%d+%d' % (2.5 * w, 2.5 * h, x, y)) self._root.resizable(height=False, width=False) frame1 = Frame(self._root) frame1.pack(fill="both", expand=True) label_buttons = Label(frame1, text='Button names', font=fontStyle_medium) label_commands = Label(frame1, text='Transmitted data', font=fontStyle_medium) label_buttons.grid(row=0, column=0, padx=10) label_commands.grid(row=0, column=2, padx=10) button_list = [] for i in range(len(button_text)): button_list.append( Label(frame1, text=button_text[i], borderwidth=borderwidth, relief='sunken', width=15).grid(row=i + 2, column=0, pady=5, padx=15)) command_list = [] for i in range(len(dict_commands)): text = ''.join( format(x, '02X') for x in list(dict_commands.values())[i]) command_list.append( Label(frame1, text='0x' + text).grid(row=i + 2, column=2, padx=10)) sep1 = Separator(frame1, orient='vertical') sep1.grid(row=0, column=1, rowspan=9, sticky='ns', pady=(5, 0)) sep2 = Separator(frame1, orient='horizontal') sep2.grid(row=1, column=0, columnspan=3, sticky='we', padx=5)
def create_widgets(self): self.spread1 = Spread(self) self.sep1 = Separator(self) self.spread2 = Spread(self) self.sep2 = Separator(self) self.spread3 = Spread(self) self.spread1.pack(side=TOP, fill=X) self.sep1.pack(side=TOP, fill=X) self.spread2.pack(side=TOP, fill=X) self.sep2.pack(side=TOP, fill=X) self.spread3.pack(side=TOP, fill=X)
def __set_up_separators(self): vertical_sep1 = Separator(self.__main_frame, orient="vertical") vertical_sep2 = Separator(self.__main_frame, orient="vertical") vertical_sep1.grid(column=1, row=0, sticky="ns", rowspan=5) vertical_sep2.grid(column=3, row=0, sticky="ns", rowspan=5) horizontal_sep = Separator(self.__main_frame, orient="horizontal") horizontal_sep.grid(column=0, row=0, sticky="ew", columnspan=5) self.__main_frame.grid_rowconfigure( 0, minsize=4, pad=0) # create some space from the top sty = Style(self.__main_frame) sty.configure("TSeparator", background="DeepSkyBlue2")
def __init__(self, master): super().__init__(master) self.master.title("Chat Player") self.pack(fill=BOTH, expand=True) # Variables self.font_size_var: IntVar = IntVar(value=DEFAULT_FONT_SIZE) self.time_display_var: StringVar = StringVar(value='0:00:00') self.speed_display_var: StringVar = StringVar(value='1.00') self.seconds_elapsed_var: DoubleVar = DoubleVar(value=0) self.autoscroll_var: BooleanVar = BooleanVar(value=True) self.paused_var: BooleanVar = BooleanVar(value=True) self.always_on_top_var: BooleanVar = BooleanVar(value=False) self.pause_button_text_var: StringVar = StringVar(value='⏵') self.search_regex_var: BooleanVar = BooleanVar(value=False) self.search_case_sensitive_var: BooleanVar = BooleanVar(value=False) self.search_count_var: IntVar = IntVar() # Style self.chat_font = Font(family="Helvetica", size=self.font_size_var.get()) # Gui # self.chat_frame_container = Scrollable(self, outer_kwargs={'padding': 0}) # self.chat_frame_container.pack(side=TOP, fill=BOTH, expand=True) # self.chat_frame = self.chat_frame_container.frame self.chat_text = ChatText(self, undo=False, wrap=WORD, padx=6) self.chat_text.search_frame.regex_check.configure(variable=self.search_regex_var) self.chat_text.search_frame.case_check.configure(variable=self.search_case_sensitive_var) self.options_frame = OptionsFrame(self, pad=2) self.options_frame.autoscroll_check.configure(variable=self.autoscroll_var) self.options_frame.font_size_label.configure(textvariable=self.font_size_var) self.speed_control_frame = self.options_frame.speed_control_frame self.speed_control_frame.speed_label.configure(textvariable=self.speed_display_var) self.time_frame = TimeFrame(self, height=150) self.time_frame.play_pause_button.configure(textvariable=self.pause_button_text_var) self.time_frame.time_elapsed_label.configure(textvariable=self.time_display_var) self.time_frame.time_scale.configure(variable=self.seconds_elapsed_var) self.time_frame.pack(side=BOTTOM, fill=X, anchor=S) Separator(self, orient=HORIZONTAL).pack(side=BOTTOM, anchor=W, fill=X) self.options_frame.pack(side=BOTTOM, fill=X, anchor=S) self.options_frame.always_on_top_check.configure(variable=self.always_on_top_var) Separator(self, orient=HORIZONTAL).pack(side=BOTTOM, fill=X, anchor=W) # Separator(self, orient=HORIZONTAL).pack(side=TOP, anchor=N, fill=X, pady=(5, 0), ipady=0) self.chat_text.pack(side=TOP, fill=BOTH, expand=True) self.master.attributes('-topmost', True) self.master.attributes('-topmost', False)
def __init__(self): self.version = (1, 0, 0) self.screen = Tk() self.paths = { "PyModder": os.path.dirname(__file__), "Mods": os.path.join(os.path.dirname(__file__), "Mods"), "Core": os.path.join(os.path.dirname(__file__), "Core"), "Images": os.path.join(os.path.dirname(__file__), "Core", "Images"), "Lang": os.path.join(os.path.dirname(__file__), "Core", "Lang"), "Logs": os.path.join(os.path.dirname(__file__), "Core", "Logs") } if os.path.exists(os.path.join(self.paths["Logs"], "last.log")): os.remove(os.path.join(self.paths["Logs"], "last.log")) self.logger = Logger("PyModder", True, os.path.join(self.paths["Logs"], "last.log")) self.logger.info("PyModder V %s launched.", ".".join(str(i) for i in self.version)) self.conf = Config(os.path.join(self.paths["Core"], "config.json")) self.lang = Lang(os.path.join(self.paths["Lang"], self.conf.get("lang", "en")+".lang")) self.screen.state("zoomed") self.menu = MenuBar(self) self.elements = ElementsFrame(self) self.properties = PropertiesFrame(self) self.project = self.load_project(self.conf.get("last_project", "")) self.launcher = Launcher(self) self.conf.set("last_project", self.project.name) self.conf.save() self.screen.columnconfigure(1, weight=1) self.screen.columnconfigure(3, weight=3) self.screen.rowconfigure(3, weight=1) Separator(self.screen, orient=VERTICAL).grid(row=0, column=0, sticky="NS") Separator(self.screen, orient=HORIZONTAL).grid(row=0, column=0, columnspan=5, sticky="EW") self.menu.grid(row=1, column=1, columnspan=3, sticky="NESW") Separator(self.screen, orient=HORIZONTAL).grid(row=2, column=0, columnspan=5, sticky="EW") self.elements.grid(row=3, column=1, sticky="NESW") Separator(self.screen, orient=VERTICAL).grid(row=3, column=2, sticky="NS") self.properties.grid(row=3, column=3, sticky="NESW") Separator(self.screen, orient=VERTICAL).grid(row=0, column=4, sticky="NS") self.logger.info("PyModder loaded.") self.screen.protocol("WM_DELETE_WINDOW", self.close) self.screen.mainloop()
def open(db_manager_instance): global db db = db_manager_instance filter_lb_list = [] window = Toplevel() window.grab_set() window.title("Filter Settings") window.minsize(750, 450) main_frame = Frame(window) title_lbl = Label(main_frame, text="Add or Remove Filters", font=("Calibri", 14)) # Creates a frame that contains the three filters and their components filter_frame = Frame(main_frame) prefix_frame = create_filter_frame(filter_frame, Database.PREFIX, filter_lb_list) phrase_frame = create_filter_frame(filter_frame, Database.PHRASE, filter_lb_list) suffix_frame = create_filter_frame(filter_frame, Database.SUFFIX, filter_lb_list) padding_x = 25 prefix_frame.grid(column=0, row=0, padx=padding_x) Separator(filter_frame, orient=VERTICAL).grid(column=1, row=0, sticky='wns') phrase_frame.grid(column=1, row=0, padx=padding_x) Separator(filter_frame, orient=VERTICAL).grid(column=2, row=0, sticky='wns') suffix_frame.grid(column=2, row=0, padx=padding_x) # Creates a frame containing the save and cancel buttons save_cancel_frame = Frame(main_frame) cancel_btn = Button(save_cancel_frame, text="Cancel", width=10, command=window.destroy) save_btn = Button(save_cancel_frame, text="Save", width=10, command=lambda: save_changes(filter_lb_list)) cancel_btn.grid(column=0, row=0, padx=20) save_btn.grid(column=1, row=0, padx=20) title_lbl.grid(column=0, row=0, pady=10) filter_frame.grid(column=0, row=1) save_cancel_frame.grid(column=0, row=2, pady=30) main_frame.place(anchor="center", relx="0.5", rely="0.50")
def crear_barra(self,b_lateral): """ Funcion dedicada a crear la barra lateral de los accesos directos que varian dependiendo del sistena operativo :param b_lateral: la barra proporcionada por la interfaz :return: """ for nombre,direccion in self.listadir.items(): separador=Separator(b_lateral, orient=HORIZONTAL) separador.pack(fill=BOTH,expand=True) auxButton=Button(master=b_lateral,text=nombre,command=lambda direccion=direccion:self.actualizar_direccion(direccion)) auxButton.pack(fill=X) separador = Separator(b_lateral, orient=HORIZONTAL) separador.pack(fill=BOTH, expand=True)
def _create_control_panel(self): self.control_panel = tk.Frame(self.root) self.control_panel.pack(side="left", expand="no", fill="both") self.cave_control_panel = KFrame(self.control_panel) self.image_control_panel = KFrame(self.control_panel) self.image_enhance_panel = KFrame(self.control_panel) self.cave_control_panel.pack(side="top", expand="no", fill="both") Separator(self.control_panel, orient=tk.HORIZONTAL).pack(side="top", fill="x", pady=1) self.image_control_panel.pack(side="top", expand="no", fill="both") Separator(self.control_panel, orient=tk.HORIZONTAL).pack(side="top", fill="x", pady=1) self.image_enhance_panel.pack(side="bottom", expand="no", fill="both")
def __init__(self, main): super(MenuBar, self).__init__(main.screen) self.main = main self.icons = { "Parameters": PhotoImage(file=os.path.join(main.paths["Images"], "parameters_icon.png")), "Open": PhotoImage(file=os.path.join(main.paths["Images"], "open_icon.png")), "New": PhotoImage(file=os.path.join(main.paths["Images"], "new_icon.png")), "Save": PhotoImage(file=os.path.join(main.paths["Images"], "save_icon.png")), "Launch": PhotoImage(file=os.path.join(main.paths["Images"], "launch_icon.png")), "Build": PhotoImage(file=os.path.join(main.paths["Images"], "build_icon.png")) } self.param_btn = Button(self, image=self.icons["Parameters"], command=self.open_param) self.open_btn = Button(self, image=self.icons["Open"]) self.save_btn = Button(self, image=self.icons["Save"], command=self.save) self.new_btn = Button(self, image=self.icons["New"], command=self.new) self.launch_btn = Button(self, image=self.icons["Launch"], command=self.launch) self.build_btn = Button(self, image=self.icons["Build"], command=self.build) ToolTip(self.param_btn, main.lang.get_translate("parameters_tooltip", "Parameters")) ToolTip(self.open_btn, main.lang.get_translate("open_tooltip", "Open")) ToolTip(self.save_btn, main.lang.get_translate("save_tooltip", "Save")) ToolTip(self.new_btn, main.lang.get_translate("new_tooltip", "New")) ToolTip(self.launch_btn, main.lang.get_translate("launch_tooltip", "Launch")) ToolTip(self.build_btn, main.lang.get_translate("build_tooltip", "Build")) self.separators = { "file_exe": Separator(self, orient=VERTICAL), "exe_param": Separator(self, orient=VERTICAL), "left": Separator(self, orient=VERTICAL), "right": Separator(self, orient=VERTICAL) } for i in range(8): if i in (3, 6): self.columnconfigure(i, weight=0) else: self.columnconfigure(i, weight=1) self.new_btn.grid(row=0, column=0, sticky="NSEW", padx=5, pady=5) self.open_btn.grid(row=0, column=1, sticky="NSEW", padx=5, pady=5) self.save_btn.grid(row=0, column=2, sticky="NSEW", padx=5, pady=5) self.separators["file_exe"].grid(row=0, column=3, sticky="NS") self.launch_btn.grid(row=0, column=4, sticky="NSEW", padx=5, pady=5) self.build_btn.grid(row=0, column=5, sticky="NSEW", padx=5, pady=5) self.separators["exe_param"].grid(row=0, column=6, sticky="NS") self.param_btn.grid(row=0, column=7, sticky="NSEW", padx=5, pady=5)
def __init__(self, parent, **optional_arguments): tkinter.LabelFrame.__init__(self, parent, text=optional_arguments['text']) self.colors = None # setup default parameters and then process optional arguments self.field_count = default_field_count self.process_optional_arguments(optional_arguments) # setup the table showing initial balance, current balance, and expenditure totals self.totals_table: TableWidget = None self.load_total_amounts() # sets up a separator between the two tables separator = Separator(self) separator.grid(row=0, column=1, sticky="NS") # setup the table showing spending by category self.category_table: TableWidget = None self.load_spending_by_category() # setup the pie chart self.pie_chart = PieChart(self) self.pie_chart.grid(row=1, columnspan=3) self.load_table_data(None, None, None)
def build_topic(self, text, value_topic, command, bkg): """Creates a topic widget, i.e. a main node of a tree""" self.grid_columnconfigure(1, weight=1) Label(self, text=text, background=bkg).grid(row=0, column=0) Separator(self, orient=HORIZONTAL).grid(row=0, column=1, sticky=W+E) tk.Checkbutton(self, text="", variable=value_topic, command=command, bg=bkg, highlightthickness=0, bd=0).grid(row=0, column=2)
def __init__(self, master, **kwargs): Frame.__init__(self, master, **kwargs) Separator(self, orient=HORIZONTAL).pack(side=TOP, fill=X) self.close = Button(self, text='x', width=3, takefocus=False) self.close.pack(side=RIGHT) self.entry = Entry(self) self.entry.pack(side=LEFT, padx=8) self.prev = Button(self, text="<", width=3, takefocus=False) self.prev.pack(side=LEFT) self.next = Button(self, text=">", width=3, takefocus=False) self.next.pack(side=LEFT) Separator(self, orient=VERTICAL).pack(side=LEFT, fill=Y, pady=2, padx=(6, 4)) self.regex_check = Checkbutton(self, text='Regex', takefocus=False) self.regex_check.pack(side=LEFT) self.case_check = Checkbutton(self, text='Case Sensitive', takefocus=False) self.case_check.pack(side=LEFT, padx=5)
def createMainWindow(): window = Tk() window.title("System application") w_options = getWorkers() chosen_w = StringVar() chosen_w.set("Choose a worker") intro_label = Label(window, text="Select action:", width=100) intro_label.pack() button_add = Button(window, text="Add workers", command=lambda: addWorkerWindow(), width=50) button_add.pack() button_as = Button(window, text="Assign card", command=lambda: assignCardWindow(), width=50) button_as.pack() button_unas = Button(window, text="Unassign card", command=lambda: unassignCardWindow(), width=50) button_unas.pack() Separator(orient=HORIZONTAL).pack(fill="x", expand=1) frame = Frame(window) frame.pack() bottom_frame = Frame(window) bottom_frame.pack() raport_label = Label(frame, text="Create raport:", width=20) raport_label.pack(side=LEFT) name = OptionMenu(frame, chosen_w, *w_options) name.config(width=50) name.pack(side=LEFT) def action(): rap = createRaport(chosen_w.get()) current_label = Label(bottom_frame, text="Worker: " + chosen_w.get() + ", Total work time: " + rap) current_label.pack() button_rap = Button(frame, text="Create", command=action, width=10) button_rap.pack() window.mainloop()
def create_widgets(self): entry = ReactiveTextEntry(self) entry.grid(row=1, column=0) entry.bind('<<TextModified>>', self.onModification) Separator(self, orient='vertical').grid(row=0, column=1, sticky='ns') self.preview = ScrolledText(self) self.preview.grid(row=1, column=2)
def initItems(self): """Initialize all widgets here""" # First way to create a frame frame = Frame(self) frame['padding'] = (5, 10) frame['borderwidth'] = 2 frame['relief'] = 'sunken' frame.pack(fill='both') lbl = Label(frame, text='sunken!') lbl.pack() lbl2 = Label(frame, text='_2!') lbl2.pack() # The second way to create a frame frame2 = Frame(self, borderwidth=2, relief='raised') # or constant tkinter.RAISED frame2.pack(fill='both') Label(frame2, text='raised').grid(row=1, column=1, sticky='w') Label(frame2, text='2col 2row').grid(row=2, column=2, sticky='we') Label(frame2, text='3col 3row', relief='raised', anchor='center', wraplength=50, width='7').grid(row=3, column=3, columnspan=2, sticky='we') Label(frame2, text='5col 5row').grid(row=4, column=5, sticky='e') # The first way to create a separator - with Frame sep1 = Frame(self, height=2, borderwidth=1, relief='sunken') sep1.pack(fill=X, padx=5, pady=10) Label(self, text='Between the separators').pack() # The second way to create a Separator - with tkinter.ttk.Separator sep = Separator(self, orient=tkinter.HORIZONTAL) sep.pack(fill=X, padx=5, pady=10)
def create_content(self, **kw): self.rowconfigure(2, weight=1) self.columnconfigure(0, weight=1) self.minsize(50, 50) self.hide_completed = CONFIG.getboolean('Tasks', 'hide_completed') # --- elements label = Label(self, text=_('Tasks').upper(), style='title.Tasks.TLabel', anchor='center') label.grid(row=0, columnspan=2, pady=4, sticky='ew') Separator(self, style='Tasks.TSeparator').grid(row=1, columnspan=2, sticky='we') self.display = Text(self, width=20, height=10, relief='flat', cursor='arrow', wrap='word', highlightthickness=0, state='disabled', spacing1=5, tabs=('35', 'right', '45', 'left')) self.display.grid(sticky='nsew', row=2, column=0, padx=2, pady=2) scroll = AutoScrollbar(self, orient='vertical', style='Tasks.Vertical.TScrollbar', command=self.display.yview) scroll.grid(row=2, column=1, sticky='ns', pady=(2, 16)) self.display.configure(yscrollcommand=scroll.set) self.display_tasks() corner = Sizegrip(self, style="Tasks.TSizegrip") corner.place(relx=1, rely=1, anchor='se') # --- bindings self.bind('<3>', lambda e: self.menu.tk_popup(e.x_root, e.y_root)) label.bind('<ButtonPress-1>', self._start_move) label.bind('<ButtonRelease-1>', self._stop_move) label.bind('<B1-Motion>', self._move)
def makeGrid(self): configs = Frame(self) configs.pack(side=TOP, expand=YES, fill=BOTH) self.entFields = [] for i, (var, name) in enumerate(self.variables().items()): # print(i, var) if name == 'separator': Separator(configs, orient=HORIZONTAL).grid(row=i, sticky=EW, columnspan=2) else: lab = Label(configs, text=name, justify=LEFT, anchor=W) lab.bind('<Button-3>', self.onHelp) if var == 'sslServerMode': self.sslMode = BooleanVar() self.sslMode.set(True if self.config[var] == 'True' else False) ent = Checkbutton(configs, text='SSL', anchor=W) ent.config(variable=self.sslMode, command=self.sslOn) else: ent = Entry(configs) ent.insert(0, self.config[var]) self.entFields.append((ent, lab)) lab.grid(row=i, column=0, sticky=EW) ent.grid(row=i, column=1, sticky=EW) configs.rowconfigure(i, weight=1) configs.columnconfigure(1, weight=1)
def __init__(self, parent, model: Model, graph: BuildGraph, *args, graph_change_callback=None, **kwargs): super().__init__(parent, *args, **kwargs) self.model = model self.graph = graph self.link_types = sorted(str(label) for label in self.model.link_types) self.graph_change_callback = graph_change_callback self.token_listing = ['%s [%s]' % (token.spelling, index) for index, token in enumerate(graph.tokens)] assert len(self.token_listing) == len(graph.tokens) self.token_labels = [Label(self, text='%s [%s]' % (token.spelling, index)) for index, token in enumerate(graph.tokens)] assert len(self.token_labels) == len(graph.tokens) self.separators = [Separator(self, orient=HORIZONTAL) for _ in graph.tokens] assert len(self.separators) == len(graph.tokens) link_sets = [] for source in range(len(graph.tokens)): link_set = set() for sink in graph.get_sinks(source): for label in graph.get_labels(source, sink): link_set.add((str(label), sink)) link_sets.append(link_set) assert len(link_sets) == len(graph.tokens) self.link_selector_maps = [] # type: List[Dict[Tuple[Optional[Property], int], Tuple]] for source, link_set in enumerate(link_sets): link_selector_map = {} for label, sink in link_set: label_drop_down = Combobox(self, values=self.link_types) label_drop_down.current(self.link_types.index(label)) label_drop_down.bind("<<ComboboxSelected>>", (lambda *a, r=(source, label, sink), v=label_drop_down, **k: self.modify_link(r, label=v.get()))) sink_drop_down = Combobox(self, values=self.token_listing) sink_drop_down.current(sink) sink_drop_down.bind('<<ComboboxSelected>>', (lambda *a, r=(source, label, sink), v=sink_drop_down, **k: self.modify_link(r, sink=self.token_listing.index(v.get())))) remove_button = Button(self, text='-', command=lambda r=(source, label, sink): self.modify_link(r)) link_selector_map[label, sink] = label_drop_down, sink_drop_down, remove_button self.link_selector_maps.append(link_selector_map) assert len(self.link_selector_maps) == len(graph.tokens) self.new_link_selectors = [] # type: List[Tuple[Combobox, Combobox]] for source in range(len(self.graph.tokens)): label_drop_down = Combobox(self, values=[''] + self.link_types) label_drop_down.current(0) label_drop_down.bind('<<ComboboxSelected>>', (lambda *a, r=(source, None, None): self.modify_link(r, new=True))) sink_drop_down = Combobox(self, values=[''] + self.token_listing) sink_drop_down.current(0) sink_drop_down.bind('<<ComboboxSelected>>', (lambda *a, r=(source, None, None): self.modify_link(r, new=True))) self.new_link_selectors.append((label_drop_down, sink_drop_down))
def create_widgets(self): self.refresh_btn = Button(self, text='Refresh') self.sep1 = Separator(self) self.process_btn = Button(self, text='Process All') self.refresh_btn.pack(side=LEFT) self.sep1.pack(side=LEFT) self.process_btn.pack(side=LEFT)
def build_main_window(activities, events): """ Sets up the main window :return: None """ # Import global to write the main_window global main_window # Set up main window basics main_window = Tk() main_window.configure(background="gray30") main_window.title("Label Mapper") # Advise user to remap the activities Label( main_window, text= "Please map the activities of the process model\n to the events in the log", bg="gray30", fg="white", font=("Arial Bold", 15)).grid(pady=10, padx=20) # Separate heading from the main selection frames Separator(main_window, orient="horizontal").grid(sticky="ew", pady=1) Separator(main_window, orient="horizontal").grid(sticky="ew", pady=1) # Build comboboxes from the lists build_comboboxes(activities, events) # Separate selection frames from the remap button Separator(main_window, orient="horizontal").grid(sticky="ew", pady=1) Separator(main_window, orient="horizontal").grid(sticky="ew", pady=1) # Remaps the dcr graphs labels and quits the gui button1 = Button(main_window, text="Remap & Quit", bg="black", fg="white", command=set_mapping_cb) button1.grid(sticky="ew") # Start GUI main_window.mainloop() # Return the mappings that were created during gui action return mappings
def __init__(self, parent, controller): tk.Frame.__init__(self, parent) self.controller = controller self.configure(bg="white") # Set a page title self.Title = tk.Label(self, text="Game Over!", bg="white", font=FONTS["large"]) self.Title.pack(side="top") Separator(self, orient="horizontal").pack(side="top", fill="x", padx=10) # Set the winner text object self.Winner = tk.Label(self, text="The winner is black-discs.", bg="white", font=FONTS["medium"]) self.Winner.pack(side="top") # Create the replay and exit buttons self.Buttons = tk.Frame(self, bg="white") self.Buttons.pack() Replay = tk.Button(self.Buttons, text="Replay", bg="#bbbbbb", font=FONTS["medium"], command=lambda: self.Replay()) Replay.grid(row=0, column=0) Quit = tk.Button(self.Buttons, text="Quit", bg="#bbbbbb", font=FONTS["medium"], command=lambda: self.Quit()) Quit.grid(row=0, column=1) # the area for the board output self.Board_Area = tk.Frame(self, bg="white") self.Board_Area.pack(side="bottom") # Score text self.Score = tk.Label(self.Board_Area, text="", bg="white", font=FONTS["medium"]) self.Score.pack() # The display for the board self.Board_Display = tk.Frame(self.Board_Area, bg="green") self.Board_Display.pack() self.Board = []
def _create_top_bar(self): """ Create top bar :return: """ self.top_bar = KFrame(self.root, relief=tk.RAISED) self.top_bar.pack(fill="x", side="top", padx=2) # pady = external padding (rembourrage...) Separator(self.root, orient=tk.HORIZONTAL).pack(side="top", fill="x")
def __init__(self, title, parent, row, column, width, top=10, bottom=10): Separator(parent, orient=HORIZONTAL).grid(row=row, column=column, pady=(top, bottom), sticky=(W, E)) self.panel = Frame(parent, width=width, height=10) self.panel.grid(row=row, column=column) self.label = Label(self.panel, text=" %s " % title) self.label.grid(row=row, column=column, pady=(top, bottom))