def CreateWidgets(self,title) : self.tree = ttk.Treeview(self) ysb = ttk.Scrollbar(self, orient='vertical', command=self.tree.yview) xsb = ttk.Scrollbar(self, orient='horizontal', command=self.tree.xview) self.tree.configure(yscroll=ysb.set, xscroll=xsb.set) self.SetHeadTitle(title) self.tree.grid(row=0, column=0,sticky='n') ysb.grid(row=0, column=1, sticky='ns') xsb.grid(row=1, column=0, sticky='ew')
def __init__(self, parent, *args, **kwargs): ttk.Frame.__init__(self, parent, *args, **kwargs) # create a vertical scrollbar vscrollbar = ttk.Scrollbar(self, orient=tk.VERTICAL) vscrollbar.pack(fill=tk.Y, side=tk.RIGHT, expand=False) # create a horizontal scrollbar hscrollbar = ttk.Scrollbar(self, orient=tk.HORIZONTAL) hscrollbar.pack(fill=tk.X, side=tk.BOTTOM, expand=False) # add a size grip sizegrip = ttk.Sizegrip(self) sizegrip.pack(in_=vscrollbar, side=tk.BOTTOM) #Create a canvas object and associate the scrollbars with it self.canvas = tk.Canvas(self, bd=0, highlightthickness=0, yscrollcommand=vscrollbar.set, xscrollcommand=hscrollbar.set) self.canvas.pack(side=tk.LEFT, fill=tk.BOTH, expand=True) #Associate scrollbars with canvas view vscrollbar.config(command=self.canvas.yview) hscrollbar.config(command=self.canvas.xview) # set the view to 0,0 at initialization self.canvas.xview_moveto(0) self.canvas.yview_moveto(0) # bind mousepad scroll events to window scrolling self.canvas.bind('<MouseWheel>', self.scroll_vertical) self.canvas.bind('<Shift-MouseWheel>', self.scroll_horizontal) # create an interior frame to be created inside the canvas self.interior = ttk.Frame(self.canvas) interior = self.interior interior_id = self.canvas.create_window(0, 0, window=interior, anchor=tk.NW) # track changes to the canvas and frame width and sync them, # also updating the scrollbar def _configure_interior(event): # update the scrollbars to match the size of the inner frame size = (max(925, interior.winfo_reqwidth()), max(760, interior.winfo_reqheight())) self.canvas.config(scrollregion='0 0 %s %s' % size) if interior.winfo_reqwidth() != self.canvas.winfo_width(): # update the canvas's width to fit the inner frame self.canvas.config(width=interior.winfo_reqwidth()) interior.bind('<Configure>', _configure_interior)
def CreateWidgets(self, heads): self.tree = ttk.Treeview(self, columns=heads) ysb = ttk.Scrollbar(self, orient='vertical', command=self.tree.yview) xsb = ttk.Scrollbar(self, orient='horizontal', command=self.tree.xview) self.tree.configure(yscroll=ysb.set, xscroll=xsb.set) self.tree.grid(row=0, column=0, sticky='n') ysb.grid(row=0, column=1, sticky='ns') xsb.grid(row=1, column=0, sticky='ew') for head in heads: self.SetColumnText(head, head)
def create_container_widgets(self): self.canvas = tk.Canvas(self) self.container_TreeView = ttk.Treeview(self.canvas) self.container_TreeView["columns"] = ["Container", "Item", "Status"] self.container_TreeView["show"] = "headings" # Create headers for treeview self.container_TreeView.heading("Container", text="Container") self.container_TreeView.heading("Item", text="Item") self.container_TreeView.heading( "Status", text="Status") # Did the sorting fail or succeed # Define highlighting for successful sorts self.container_TreeView.tag_configure('successful_sort', background='green', foreground='white') # Define some highliting for identifying failed & aborted sorts self.container_TreeView.tag_configure( 'failed_sort', background='red' ) # Anything with this tag will be highlited in red self.container_TreeView.tag_configure('in_progress_sort', background='orange') # self.container_TreeView.tag_configure('aborted_sort', background='orange') # Create horizontal scrollbar treeXscroll = ttk.Scrollbar(self.canvas, orient="horizontal") treeXscroll.configure(command=self.container_TreeView.xview) self.container_TreeView.configure(xscrollcommand=treeXscroll.set) # Create vertical scrollbar treeYscroll = ttk.Scrollbar(self.canvas, orient="vertical") treeYscroll.configure(command=self.container_TreeView.yview) self.container_TreeView.configure(yscrollcommand=treeYscroll.set) # Pack and size the scroll bars to fit the respective axis treeXscroll.pack(side='bottom', fill='x') treeYscroll.pack(side='right', fill='y') tree_title_label = tk.Label(self.canvas, text="Sorting Progress", font=("Helvetica", 12, 'bold')) tree_title_label.pack(side='top') self.container_TreeView.pack() self.canvas.pack() # Add the first item in the sorting list, mark it as in progress self.container_TreeView.insert( "", tk.END, values=("...", str(self.m_selected_objects[0]).capitalize(), "IN PROGRESS"), tags=('in_progress_sort', ))
def add_scrollbar(widget, vsb=True, hsb=True): """ adding scrollbar to the framed widgets, eg: treeview, listbox """ master = widget.master #master is a frame if vsb: #vertical scrollbar vsb = ttk.Scrollbar(master, orient="vertical", command=widget.yview) widget.configure(yscrollcommand=vsb.set) vsb.grid(row=0, column=1, sticky='ns') if hsb: #horizontal scrollbar hsb = ttk.Scrollbar(master, orient="horizontal", command=widget.xview) widget.configure(xscrollcommand=hsb.set) hsb.grid(row=1, column=0, sticky='ew')
def init_ui(self): self.clear_window = Toplevel() self.clear_window.protocol("WM_DELETE_WINDOW", self.job_cancel) self.clear_window.iconbitmap('ico.ico') self.clear_window.title(u'数据清理') self.clear_window.resizable(width=False, height=False) label = Label(self.clear_window, text=u'已经删除任务列表') label.grid(row=0, column=0, columnspan=3, sticky='w') self.tree = ttk.Treeview(self.clear_window, column=('JOB', u'任务'), show="headings") self.tree.column('JOB', width=100, anchor='w') self.tree.column(u'任务', width=200, anchor='w') self.tree.configure(height=22) self.tree.heading('JOB', text='JOB') self.tree.heading(u'任务', text=u'任务') self.tree.bind("<Button-3>", self.open_restore_job_menu) ysb = ttk.Scrollbar(self.clear_window, orient='vertical', command=self.tree.yview) xsb = ttk.Scrollbar(self.clear_window, orient='horizontal', command=self.tree.xview) self.tree.grid(row=1, column=0, rowspan=9, sticky=N + S + W + E) ysb.grid(row=1, column=1, rowspan=11, sticky=N + S) xsb.grid(row=13, column=0, rowspan=11, sticky=W + E) self.context_menu = Menu(self.tree) self.context_menu.add_command(label=u'刷新列表', command=self.bind_tree) self.context_menu.add_command(label=u'恢复任务', command=self.restore_file) self.context_menu.add_command( label=u'彻底删除', command=lambda: self.delete_jobs('selected')) button_delete_all = Button(self.clear_window) button_delete_all.configure(text=u'全部删除', command=lambda: self.delete_jobs('all')) button_delete_all.grid(row=1, column=2, padx=100, sticky='w') button_delete = Button(self.clear_window) button_delete.configure(text=u'彻底删除', command=lambda: self.delete_jobs('selected')) button_delete.grid(row=2, column=2, padx=100, sticky='w') button_cancel = Button(self.clear_window) button_cancel.configure(text=u'返回系统', command=self.job_cancel) button_cancel.grid(row=3, column=2, padx=100, sticky='w') # self.bind_deleted_jobs(root_node) self.bind_tree() self.parent.hide()
def config_special_options(self, name, opts): """Config the widgets with some special options or some self-defined options, the options with capitalized name are self-defined. """ widget = self.widgets[name] if isinstance(widget, ttk.Treeview): columns = opts.pop('columns',None) heading = opts.pop('heading',None) col_width = opts.pop('col_width',None) icon_col = opts.pop('#0',None) #(text,width) VSB = opts.pop('VSB',None) HSB = opts.pop('HSB',None) if VSB: #vertical scrollbar vsb = ttk.Scrollbar(widget.master,orient="vertical", command=widget.yview) widget.configure(yscrollcommand=vsb.set) vsb.grid(row=VSB[0],column=VSB[1],rowspan=VSB[2], columnspan=VSB[3], sticky='ns') if HSB: #horizontal scrollbar hsb = ttk.Scrollbar(widget.master,orient="horizontal", command=widget.xview) widget.configure(xscrollcommand=hsb.set) hsb.grid(row=HSB[0],column=HSB[1],rowspan=HSB[2], columnspan=HSB[3], sticky='ew') if icon_col: #The icon column widget.heading('#0',text=icon_col['text']) widget.column('#0',width=icon_col['width']) if columns and heading and col_width: widget.config(columns=columns) for cid,text,width in zip(columns,heading,col_width): widget.heading(cid,text=text) widget.column(cid,width=width) elif isinstance(widget, tk.Menu): label = opts.get('title') submenus = opts.pop('SUBMENUS', None) if isinstance(widget.master,tk.Menu): #for meunu widget.master.add_cascade(label=label,menu=widget,underline=0) elif 'menu' in widget.master.keys(): #for root,menubutton, etc. widget.master.config(menu=widget) if submenus: #add submenu for kind, coption in submenus: widget.add(kind, **coption) elif isinstance(widget, ttk.Notebook): for child,kw in opts.pop('TABS', []): widget.add(self.widgets[child], **kw) elif isinstance(self.widgets[name],ttk.Panedwindow): for child,kw in opts.pop('PANES', []): widget.add(self.widgets[child], **kw)
def _setup_widgets(self, select_mode): container = ttk.Frame(self.parent) container.pack(fill='both', expand=True) # create a treeview with dual scrollbars self.tree = ttk.Treeview(container, columns=self.header, show="headings", selectmode=select_mode) vsb = ttk.Scrollbar(container, orient="vertical", command=self.tree.yview) hsb = ttk.Scrollbar(container, orient="horizontal", command=self.tree.xview) self.tree.configure(yscrollcommand=vsb.set, xscrollcommand=hsb.set) self.tree.grid(column=0, row=0, sticky='nsew', in_=container) vsb.grid(column=1, row=0, sticky='ns', in_=container) hsb.grid(column=0, row=1, sticky='ew', in_=container) container.grid_columnconfigure(0, weight=1) container.grid_rowconfigure(0, weight=1)
def _setup_widgets(self): s = """Click on header to sort by that column Click 'Add' to add a subscriber Click 'Remove' to remove subscriber(s) Click 'Save' to save the configuration XML file Click 'Generate' to generate data structures for the messaging framework """ msg = ttk.Label(wraplength="4i", justify="left", anchor="n", padding=(10, 2, 10, 6), text=s) msg.grid(column=0, columnspan=3, row=0) # create a treeview with dual scrollbars self.tree = ttk.Treeview(columns=column_title, show="headings") vsb = ttk.Scrollbar(orient="vertical", command=self.tree.yview) hsb = ttk.Scrollbar(orient="horizontal", command=self.tree.xview) self.tree.configure(yscrollcommand=vsb.set, xscrollcommand=hsb.set) self.tree.grid(column=0, columnspan=3, row=2, sticky='nsew') vsb.grid(column=3, row=2, sticky='ns') hsb.grid(column=0, columnspan=3, row=3, sticky='ew') self.tree.bind("<Double-1>", self.OnDoubleClick) # Add File and Help menus menu = tk.Menu(root) root.config(menu=menu) filemenu = tk.Menu(menu) menu.add_cascade(label="File", menu=filemenu) filemenu.add_command(label="Save", command=self.OnSaveClick) filemenu.add_command(label="Save As", command=self.OnSaveAsClick) filemenu.add_command(label="Open...", command=self.OnOpenClick) filemenu.add_separator() filemenu.add_command(label="Exit", command=on_closing) helpmenu = tk.Menu(menu) menu.add_cascade(label="Help", menu=helpmenu) helpmenu.add_command(label="About...", command=self.OnAboutClick) # Add Button to add subscriber self.addButton = ttk.Button(text=u"Add", command=self.OnAddClick) self.addButton.grid(column=0, row=1) # Add Button to remove subscriber self.addButton = ttk.Button(text=u"Remove", command=self.OnRemoveClick) self.addButton.grid(column=1, row=1) # Add Button to generate self.addButton = ttk.Button(text=u"Generate", command=self.OnGenerateClick) self.addButton.grid(column=2, row=1)
def __init__(self, root): ttk.Frame.__init__(self, f2) self.root = f2 self.queryframe = ttk.Frame(self.root, relief=SUNKEN) self.queryframe.pack(fill=BOTH, expand=1) self.select = Listbox(self.queryframe, height=4) self.select.grid(column=1, row=1, columnspan=2) global canvas canvas = Canvas(self.queryframe) self.canvas = canvas self.canvas.grid(column=0 , row=3 , columnspan=10 , rowspan=10 ) self.vsb = ttk.Scrollbar(self.queryframe, orient=VERTICAL, command=self.canvas.yview) self.canvas.configure(yscrollcommand=self.vsb.set) self.vsb.pack(side=RIGHT, fill=Y, expand=1) self.hsb = ttk.Scrollbar(self.queryframe, orient=HORIZONTAL, command=self.canvas.xview) self.canvas.configure(xscrollcommand=self.hsb.set) self.hsb.pack(side=BOTTOM, fill=X, expand=1) global sel_query sel_query = ['Variant','Sample','Gene','Transcript'] self.select.delete(0,END) for item in sel_query: self.select.insert(END, item) global in_val in_val = StringVar() self.in_val_entry = ttk.Entry(self.canvas, width=20, textvariable=in_val) self.in_val_entry.grid(column=3, row=2, rowspan=2, columnspan=2, sticky=(W, E)) self.in_val_lab = ttk.Label(self.canvas, text="Value") self.in_val_lab.grid(column=3, row=1, rowspan=2, columnspan=3, sticky=W) self.select_but = ttk.Button(self.canvas, text="Search", command=select_query) self.select_but.grid(column=5, row=2, rowspan=2, columnspan=2) self.freq_but = ttk.Button(self.canvas, text="Search", command=frequency_query) self.freq_but.grid(column=7, row=2, rowspan=2, columnspan=2) for child in self.queryframe.winfo_children(): child.grid_configure(padx=5, pady=5)
def bottom_frame(self, master): """defines bottom frame""" # Bottom frame self.bottom_fr = ttk.Frame(master, padding=(10, 0)) master.rowconfigure(1, weight=1) master.columnconfigure(0, weight=1) self.bottom_fr.grid(row=1, column=0, sticky="nsew") self.bottom_fr.rowconfigure(1, weight=1) self.bottom_fr.columnconfigure(0, weight=1) # scroll bars self.x_txt_scr = ttk.Scrollbar(self.bottom_fr, orient=HORIZONTAL) self.y_txt_scr = ttk.Scrollbar(self.bottom_fr, orient=VERTICAL) # text box stuff self.tb_lb = ttk.Label(self.bottom_fr, text="File name changes:") self.tb = Text(self.bottom_fr, height=20, width=69, font=('DejaVu Sans Mono', 9), wrap=NONE) self.tb_lb.grid(row=0, column=0, columnspan=2, sticky=NW) self.tb.grid(row=1, column=0, columnspan=5, sticky="nsew") # binding scroll bars self.x_txt_scr.configure(command=self.tb.xview) self.y_txt_scr.configure(command=self.tb.yview) self.x_txt_scr.grid(row=2, column=0, columnspan=6, sticky=EW, pady=(0, 10)) self.y_txt_scr.grid(row=1, column=5, sticky=NS) self.tb.configure(xscrollcommand=self.x_txt_scr.set, yscrollcommand=self.y_txt_scr.set) # buttons #self.buttFrame = ttk.Frame(self.bottom_fr, padding=(10, 0)) #self.buttFrame.grid(row=3, column=0, sticky="nsew") self.commit_bt = ttk.Button(self.bottom_fr, text="Commit", state='disabled', command=self.commit) self.apply_bt = ttk.Button(self.bottom_fr, text="Apply", command=self.apply) self.commit_bt.grid(row=3, column=0, padx=(0, 110), pady=(0, 10)) self.apply_bt.grid(row=3, column=0, padx=(110, 0), pady=(0, 10))
def __init__(self, root, conf): self.conf = conf self.items = conf.get_top_level_items() self.tree = ttk.Treeview(root, selectmode="browse", columns=("name", "value", "type"), displaycolumns=("value", "type"), height=30) ysb = ttk.Scrollbar(orient=VERTICAL, command= self.tree.yview) xsb = ttk.Scrollbar(orient=HORIZONTAL, command= self.tree.xview) self.tree.configure(yscroll=ysb.set, xscroll=xsb.set) self.tree.heading('#0', text='Configuration Tree', anchor='w') self.tree.column("#0", minwidth=0, width=800, stretch=True) self.tree.heading("name", text="Name") self.tree.column("name", minwidth=0, width=200, stretch=True) self.tree.heading("value", text="Value") self.tree.column("value", minwidth=0, width=50, stretch=True) self.tree.heading("type", text="Type") self.tree.column("type", minwidth=0, width=50, stretch=True) self.add_root_items(self.items) self.help = ScrolledText(root, width=130, height=10) self.msg = StringVar() self.info = Label(root, fg="green", font=("Helvetica", 16), anchor=W, justify=LEFT, textvariable=self.msg) self.msg.set("Please set configurations, then you can save it!") self.tree.grid(row=0, column=0) self.help.grid(row=1, column=0) self.info.grid(row=2, column=0) ysb.grid(row=0, column=1, sticky='ns') xsb.grid(row=1, column=0, sticky='ew') root.grid() self.root = root # create a toplevel menu menubar = Menu(root) menubar.add_command(label="Save Config!", command=self.OnSaveConfig) menubar.add_command(label="Quit Config!", command=self.OnQuitConfig) # display the menu root.config(menu=menubar) self.tree.bind("<Double-1>", self.OnDoubleClick) self.tree.bind("<<TreeviewSelect>>", self.OnSelection)
def initialize_gui(self): menubar = tk.Menu(self.master) menu_file = tk.Menu(menubar) menu_action = tk.Menu(menubar) menubar.add_cascade(menu=menu_file, label='File') menubar.add_cascade(menu=menu_action, label='Action') menu_file.add_command(label='New regulation (Ctrl-N)', command=partial(self.new_notice, 'regulation', None)) menu_file.add_command(label='New notice (Ctrl-Shift-N)', command=partial(self.new_notice, 'notice', None)) menu_file.add_command(label='Open notice (Ctrl-O)', command=partial(self.open_notice, None)) menu_file.add_separator() menu_file.add_command(label='Save notice (Ctrl-S)', command=self.save_notice) menu_file.add_separator() menu_file.add_command(label='Quit (Ctrl-Q)', command=self.master.quit) self.master.bind_all('<Control-o>', self.open_notice) self.master.bind_all('<Control-s>', self.save_notice) self.master.bind_all('<Control-n>', partial(self.new_notice, 'regulation')) self.master.bind_all('<Control-Shift-Key-N>', partial(self.new_notice, 'notice')) self.master.bind_all('<Control-q>', lambda x: self.master.quit()) self.master.config(menu=menubar) self.left_frame = tk.Frame(self, borderwidth=1) self.left_frame.pack(side=tk.LEFT, fill=tk.BOTH, expand=tk.YES) self.right_frame = tk.Frame(self, borderwidth=1) self.right_frame.pack(side=tk.LEFT, fill=tk.BOTH, expand=tk.YES) self.element_tree = ttk.Treeview(self.left_frame, selectmode='browse') x_scroll = ttk.Scrollbar(command=self.element_tree.xview) y_scroll = ttk.Scrollbar(command=self.element_tree.yview) self.element_tree.configure(xscrollcommand=x_scroll.set) self.element_tree.configure(yscrollcommand=y_scroll.set) #self.element_tree.heading('path', text='Path') self.element_tree.pack(side=tk.LEFT, fill=tk.BOTH, expand=tk.YES) self.element_tree.bind('<<TreeviewSelect>>', self.select_tree_element) self.element_tree.bind('<Button-2>', self.tree_context_menu) self.master.rowconfigure(0, weight=1) self.master.columnconfigure(0, weight=1) self.master.columnconfigure(1, weight=1) print element_to_view_map
def build_gui(self, feed_dimensions=(600, 480)): # Create the main window self._window = Tkinter.Tk() self._window.protocol("WM_DELETE_WINDOW", self.quit) self._window.title("ShootOFF") self._frame = ttk.Frame(self._window) self._frame.pack() # Create the container for our webcam image self._webcam_canvas = Tkinter.Canvas(self._frame, width=feed_dimensions[0], height=feed_dimensions[1]) self._webcam_canvas.grid(row=0, column=0) self._webcam_canvas.bind('<ButtonPress-1>', self.canvas_click) self._webcam_canvas.bind('<Delete>', self.canvas_delete_target) # Click to shoot if self._preferences[configurator.DEBUG]: self._webcam_canvas.bind('<Shift-ButtonPress-1>', self.canvas_click_red) self._webcam_canvas.bind('<Control-ButtonPress-1>', self.canvas_click_green) self._canvas_manager = CanvasManager(self._webcam_canvas) # Create a button to clear shots self._clear_shots_button = ttk.Button( self._frame, text="Clear Shots", command=self.clear_shots_click) self._clear_shots_button.grid(row=1, column=0) # Create the shot timer tree self._shot_timer_tree = ttk.Treeview(self._frame, selectmode="extended", show="headings") self.add_shot_list_columns(DEFAULT_SHOT_LIST_COLUMNS) self.configure_default_shot_list_columns() tree_scrolly = ttk.Scrollbar(self._frame, orient=Tkinter.VERTICAL, command=self._shot_timer_tree.yview) self._shot_timer_tree['yscroll'] = tree_scrolly.set tree_scrollx = ttk.Scrollbar(self._frame, orient=Tkinter.HORIZONTAL, command=self._shot_timer_tree.xview) self._shot_timer_tree['xscroll'] = tree_scrollx.set self._shot_timer_tree.grid(row=0, column=1, rowspan=2, sticky=Tkinter.NSEW) tree_scrolly.grid(row=0, column=2, rowspan=2, stick=Tkinter.NS) tree_scrollx.grid(row=1, column=1, stick=Tkinter.EW) self._shot_timer_tree.bind("<<TreeviewSelect>>", self.shot_time_selected) self.create_menu()
def __init__(self, master=None, compound=tk.RIGHT, canvasheight=400, canvaswidth=400, canvasborder=0, **kwargs): """ :param master: master widget :param compound: side the scrollbar should be on :param canvasheight: hight of the internal canvas :param canvaswidth: width of the internal canvas :param canvasborder: border width of the internal canvas :param kwargs: passed on to Frame.__init__ """ ttk.Frame.__init__(self, master, **kwargs) self._scrollbar = ttk.Scrollbar(self, orient=tk.VERTICAL) self._canvas = tk.Canvas(self, borderwidth=canvasborder, highlightthickness=0, yscrollcommand=self._scrollbar.set, width=canvaswidth, height=canvasheight) self.__compound = compound self._scrollbar.config(command=self._canvas.yview) self._canvas.yview_moveto(0) self.interior = ttk.Frame(self._canvas) self._interior_id = self._canvas.create_window(0, 0, window=self.interior, anchor=tk.NW) self.interior.bind("<Configure>", self.__configure_interior) self._canvas.bind("<Configure>", self.__configure_canvas) self.__grid_widgets()
def QueryButton_1(): self.Listbox1.delete(0, tk.END) tree_1 = ttk.Treeview(self.Listbox1, columns=(1, 2), show='headings') tree_1.heading(1, text='Queried Milestone') tree_1.heading(2, text='Due Date') tree_1.pack(fill='both') scroll = ttk.Scrollbar(self.Listbox1, orient='vertical', command=tree_1.yview) tree_1.configure(yscrollcommand=scroll.set) Query_Start_Date_M = self.Entry1.get() Query_Start_Date_M = pd.to_datetime(Query_Start_Date_M) Query_Finish_Date_M = Query_Start_Date_M + timedelta(days=180) for i in range(len(df_Tasks)): Start_Date_df = pd.to_datetime(df_Tasks.loc[i, 'Start_Date']) Finish_Date_df = pd.to_datetime(df_Tasks.loc[i, 'Finish_Date']) Milestone = df_Tasks.loc[i, 'task_ID'] if (Start_Date_df >= Query_Start_Date_M and Finish_Date_df <= Query_Finish_Date_M) and ('milestone' in Milestone): tree_1.insert('', 'end', values=(df_Tasks.loc[i, 'task_ID'], df_Tasks.loc[i, 'Start_Date']))
def __init__(self, parent, *args, **kw): ttk.Frame.__init__(self, parent, *args, **kw) self.parent = parent # Create the canvas and the scrollbars self.canvas = tk.Canvas(self, border=0, highlightthickness=0) vsb = ttk.Scrollbar(self, orient="vertical", command=self.canvas.yview) #hsb = ttk.Scrollbar(self, orient="horizontal", # command=self.canvas.xview) self.canvas.configure( yscrollcommand=vsb.set) #, xscrollcommand=hsb.set) self.canvas.xview_moveto(0) self.canvas.yview_moveto(0) # Grid the canvas and scrollbars within the container frame self.canvas.grid(column=0, row=0, sticky="NSEW") vsb.grid(column=1, row=0, sticky="NS") #hsb.grid(column=0, row=1, sticky="WE") self.columnconfigure(0, weight=1) self.columnconfigure(1, weight=0) self.rowconfigure(0, weight=1) # Now create a frame within the canvas self.interior = ttk.Frame(self.canvas) self.winID = self.canvas.create_window((0, 0), window=self.interior, anchor="nw", tags="self.interior") self.interior.bind('<Configure>', self._configure_interior) self.canvas.bind('<Configure>', self._configure_canvas)
def __init__(self, parent, controller): tk.Frame.__init__(self, parent) BaseGUIEvent.BaseGUIEvent.__init__(self, controller) # Title label label = tk.Label( self, text="Procurement Awarded to Registered Contractors") label.pack(pady=10, padx=10) # Back button button1 = tk.Button( self, text="Back", command=lambda: controller.change_frame("Page2GUI")) button1.pack() # Drop down menu to select tendering number button2 = tk.Button(self, text="Convert to PDF", command=self.convertPDF) button2.pack() # Setup the Tree self.tree = ttk.Treeview(self, columns=('Amount'), selectmode='browse') vsb = ttk.Scrollbar(self, orient="vertical", command=self.tree.yview) vsb.pack(side="right", fill="y") self.tree.configure(yscrollcommand=vsb.set) self.tree.column('Amount', width=500, anchor='center') self.tree.heading('Amount', text='Amount ($)') self.tree.pack(fill=tk.BOTH, expand=1) self.tree.heading('#0', text='')
def __init__(self, master, path): tk.Frame.__init__(self, master) self.tree = ttk.Treeview(self) ysb = ttk.Scrollbar(self, orient='vertical', command=self.tree.yview) xsb = ttk.Scrollbar(self, orient='horizontal', command=self.tree.xview) self.tree.configure(yscroll=ysb.set, xscroll=xsb.set) self.tree.heading('#0', text=path, anchor='w') abspath = os.path.abspath(path) root_node = self.tree.insert('', 'end', text=abspath, open=True) self.process_directory(root_node, abspath) self.tree.grid(row=0, column=0) ysb.grid(row=0, column=1, sticky='ns') xsb.grid(row=1, column=0, sticky='ew') self.grid()
def ChildWindow(self): #Create menu self.popup = tk.Menu(self.root, tearoff=0) self.popup.add_command(label="Next", command=self.selection) self.popup.add_separator() def do_popup(event): # display the popup menu try: self.popup.selection = self.tree.set( self.tree.identify_row(event.y)) self.popup.post(event.x_root, event.y_root) finally: # make sure to release the grab (Tk 8.0a1 only) self.popup.grab_release() #Create Treeview win2 = tk.Toplevel(self.root) new_element_header = ['1st'] treeScroll = ttk.Scrollbar(win2) treeScroll.pack(side=tk.RIGHT, fill=tk.Y) self.tree = ttk.Treeview(win2, columns=new_element_header, show="headings") self.tree.heading("1st", text="1st") self.tree.insert("", 0, text="Line 1", values=("1A")) self.tree.pack(side=tk.LEFT, fill=tk.BOTH) self.tree.bind("<Button-3>", do_popup) win2.minsize(600, 30)
def configure_treeview(self): self.treeview = ttk.Treeview(self) self.treeview['columns'] = [ "id", "time", 'ms_level', 'precursor_mz', 'precursor_charge', 'activation' ] self.treeview.grid(row=2, column=0, sticky=tk.S + tk.W + tk.E + tk.N) self.treeview_scrollbar = ttk.Scrollbar(self, orient="vertical", command=self.treeview.yview) self.treeview_scrollbar.grid(row=2, column=0, sticky=tk.S + tk.E + tk.N) self.treeview.configure(yscrollcommand=self.treeview_scrollbar.set) self.treeview.heading('id', text="Scan ID") self.treeview.heading('#0', text='Index') self.treeview.heading("time", text='Time (min)') self.treeview.heading("ms_level", text='MS Level') self.treeview.heading("precursor_mz", text='Precursor M/Z') self.treeview.heading("precursor_charge", text='Precursor Z') self.treeview.heading("activation", text='Activation') self.treeview.column("#0", width=75) self.treeview.column("ms_level", width=75) self.treeview.column("time", width=75) self.treeview.column("precursor_mz", width=100) self.treeview.column("precursor_charge", width=100) self.treeview.bind("<<TreeviewSelect>>", self.on_row_click)
def download(conn): """Display the client's directory tree""" conn.send('download') shl = Tk() shl.title('Choose a file to download') vsb = ttk.Scrollbar(shl, orient="vertical") tree = ttk.Treeview(shl, columns=("fullpath", "type"), displaycolumns='', yscrollcommand=lambda f, l: autoscroll(vsb, f, l)) vsb['command'] = tree.yview tree.heading("#0", text="Directory Structure", anchor='w') populate_roots(tree, conn) # Start with C:/ folder tree.bind('<<TreeviewOpen>>', lambda event: update_tree(conn, event) ) # If the plus was clicked (folder opened) tree.bind('<Double-Button-1>', lambda event: copy(conn, tree) ) # If a file was doubled clicked (start download) tree.grid(column=0, row=0, sticky='nswe') vsb.grid(column=1, row=0, sticky='ns') center(shl, False) # Center the window shl.grid_columnconfigure(0, weight=1) shl.grid_rowconfigure(0, weight=1) shl.protocol("WM_DELETE_WINDOW", functools.partial( closing, param=(conn, shl))) # If the 'x' button was clicked shl.iconbitmap(icon) shl.mainloop()
def Query_look_ahead_need(): self.Scrolledlistbox1.delete('0', 'END') tree_1 = ttk.Treeview(self.Scrolledlistbox1, columns=(1, 2, 3), show='headings') tree_1.heading(1, text='order ID') tree_1.heading(2, text='element ID') tree_1.heading(3, text='Family and Type') tree_1.pack(fill='both') scroll = ttk.Scrollbar(self.Scrolledlistbox1, orient='vertical', command=tree_1.yview) tree_1.configure(yscrollcommand=scroll.set) Need_date = str(self.Entry2.get()) Need_date = pd.to_datetime(Need_date) for i in range(len(df_tasks)): a = pd.to_datetime(df_tasks.loc[i, 'Start_Date']) if a == Need_date: b = df_tasks.loc[i, 'task_ID'] b = b[-7:] for j in range(len(df_ETOs)): if b in df_ETOs.loc[j, 'task_ID']: tree_1.insert( '', 'end', values=(df_ETOs.loc[j, 'order_ID'], df_ETOs.loc[j, 'element_ID'], df_ETOs.loc[j, 'Family'] + ' ' + df_ETOs.loc[j, 'Type']))
def __init__(self, root, main_window, button_opt): ttk.Frame.__init__(self, root) self.root = root self.main_window = main_window self.current_files = None self.button_opt = button_opt # define options for opening or saving a file self.file_opt = options = {} options['defaultextension'] = '.txt' options['filetypes'] = [('all files', '.*'), ('text files', '.txt')] options['initialdir'] = os.path.expanduser("~") options['parent'] = root options['title'] = 'Select files to annotate.' self.file_selector_button = ttk.Button(self.root, text=u"select file(s)", command=self.filenames) self.label = ttk.Label(self.root, text=u"selected file(s):") self.fa_search = tk.PhotoImage(file=os.path.join( self.main_window.resource_dir, "images", "fa_search_24_24.gif")) self.file_selector_button.config(image=self.fa_search, compound=tk.LEFT) self.scrollbar = ttk.Scrollbar(self.root) self.selected_files = tk.Listbox(self.root, yscrollcommand=self.scrollbar.set) self.scrollbar.config(command=self.selected_files.yview)
def run_by_orderID(): self.Scrolledlistbox1.delete('0', 'END') tree_1 = ttk.Treeview(self.Scrolledlistbox1, columns=(1, 2, 3, 4, 5), show='headings') tree_1.heading(1, text='order ID') tree_1.heading(2, text='element ID') tree_1.heading(3, text='family and type') tree_1.heading(4, text='supplier') tree_1.heading(5, text='current run') tree_1.pack(fill='both') scroll = ttk.Scrollbar(self.Scrolledlistbox1, orient='vertical', command=tree_1.yview) tree_1.configure(yscrollcommand=scroll.set) order_ID = self.Entry3.get() for i in range(len(df_MP)): for j in range(len(df_ETOs)): if df_MP.loc[i, 'order_ID'] == order_ID and df_ETOs.loc[ j, 'order_ID'] == order_ID: tree_1.insert('', 'end', values=(df_MP.loc[i, 'order_ID'], df_ETOs.loc[j, 'element_ID'], df_ETOs.loc[j, 'Family'] + ' ' + df_ETOs.loc[j, 'Type'], df_MP.loc[i, 'supplier_name'], df_MP.loc[i, 'production_run'])) else: pass
def addScrollbars( self, parent, w, conf ): if 'x' in conf: xsb = ttk.Scrollbar( parent, orient='horizontal' ) xsb.grid( row=1, column=0, sticky="new" ) xsb.config( command=w.xview) w.config( xscrollcommand=xsb.set) parent.grid_columnconfigure( 0, weight=50 ) parent.grid_columnconfigure( 1, weight=1 ) if 'y' in conf: ysb = ttk.Scrollbar( parent ) ysb.grid( row=0, column=1, sticky="wns" ) ysb.config( command=w.yview) w.config( yscrollcommand=ysb.set) parent.grid_rowconfigure( 0, weight=50 ) parent.grid_rowconfigure( 1, weight=1 )
def QueryButton_all(): root1 = Tk() root1.title('All tasks') root1.wm_iconbitmap('logo.ico') frame = Frame(root1) frame.pack() tree = ttk.Treeview(frame, columns=(1, 2, 3, 4, 5, 6, 7), show='headings') tree.heading(1, text='task_ID') tree.heading(2, text='Planned Start Date') tree.heading(3, text='Planned Finish Date') tree.heading(4, text='Baseline Start Date') tree.heading(5, text='Baseline Finish Date') tree.heading(6, text='Actual Start Date') tree.heading(7, text='Actual Finish Date') tree.pack() scroll = ttk.Scrollbar(frame, orient="vertical", command=tree.yview) tree.configure(yscrollcommand=scroll.set) for i in range(len(df_Tasks)): tree.insert('', 'end', values=(df_Tasks.loc[i, 'task_ID'], df_Tasks.loc[i, 'Start_Date'], df_Tasks.loc[i, 'Finish_Date'], df_Tasks.loc[i, 'Baseline_Start'], df_Tasks.loc[i, 'Baseline_Finish'], df_Tasks.loc[i, 'Actual_Start'], df_Tasks.loc[i, 'Actual_Finish'])) root1.mainloop()