def main(): root = Tk() sizex = 800 sizey = 600 posx = 100 posy = 100 root.wm_geometry("%dx%d+%d+%d" % (sizex, sizey, posx, posy)) root.grid() root.rowconfigure(0, weight=1) root.columnconfigure(0, weight=1) myframe = Frame(root, relief=GROOVE, bd=1) myframe.grid(row=0, column=0, sticky="NESW") myframe.rowconfigure(0, weight=1) myframe.columnconfigure(0, weight=1) myframe.columnconfigure(1, weight=0) canvas = Canvas(myframe) canvas.grid(row=0, column=0, sticky="NESW") frame = Frame(canvas) myscrollbar = Scrollbar(myframe, orient="vertical", command=canvas.yview) myscrollbar.grid(row=0, column=1, sticky="NESW") canvas.configure(yscrollcommand=myscrollbar.set) canvas.create_window((0, 0), window=frame, anchor='nw') frame.bind("<Configure>", lambda e, c=canvas: myfunction(c, e)) data(frame) root.mainloop()
def add_scrollbars(master, widget, w_row=0, w_column=0): master.rowconfigure(w_row + 1, weight=0) master.columnconfigure(w_column + 1, weight=0) vscroll = Scrollbar(master, command=widget.yview) vscroll.grid(row=w_row, column=w_column + 1, sticky="NESW") hscroll = Scrollbar(master, command=widget.xview, orient=HORIZONTAL) hscroll.grid(row=w_row + 1, column=w_column, sticky="NESW") widget.config(yscrollcommand=vscroll.set, xscrollcommand=hscroll.set) return vscroll, hscroll
def __init__(self, task, **kw): GUIFrame.__init__(self, **kw) self.grid() self.rowconfigure(0, weight = 1) # Text itself self.columnconfigure(0, weight = 1) t = GUIText(master = self, state = READONLY, wrap = NONE) t.grid(row = 0, column = 0, sticky = "NESW") # Vertical scrollbar self.columnconfigure(1, weight = 0) vsb = Scrollbar(master = self, orient = VERTICAL) vsb.grid(row = 0, column = 1, sticky = "NESW") # Horizontal scrollbar self.rowconfigure(1, weight = 0) hsb = Scrollbar(master = self, orient = HORIZONTAL) hsb.grid(row = 1, column = 0, sticky = "NESW") # Bind scrollbars and text t.config(yscrollcommand = vsb.set) vsb.config(command = t.yview) t.config(xscrollcommand = hsb.set) hsb.config(command = t.xview) task_traceback = [] e = task.exception while isinstance(e, (CancelledCallee, FailedCallee)): task_traceback.append(task) task = e.callee e = task.exception lines = format_exception(type(e), e, task.traceback) lines.append("\n") for task in reversed(task_traceback): g = task.generator lines.append('in coroutine "%s" (%s)\n' % ( g.__name__, type(task).__name__ )) t.insert(END, "".join(lines))
def __init__(self): GUITk.__init__(self) self.title(_("QEmu Log Viewer")) self.columnconfigure(0, weight = 1) self.rowconfigure(0, weight = 1) panes = AutoPanedWindow(self, orient = VERTICAL, sashrelief = RAISED) panes.grid(row = 0, column = 0, sticky = "NESW") fr_instructions = GUIFrame(panes) panes.add(fr_instructions) fr_instructions.rowconfigure(0, weight = 1) fr_instructions.columnconfigure(0, weight = 1) fr_instructions.columnconfigure(1, weight = 0) tv = InstructionsTreeview(fr_instructions) self.tv_instructions = tv tv.grid(row = 0, column = 0, sticky = "NESW") tv.bind("<<TreeviewSelect>>", self._on_instruction_selected, "+") vscroll = Scrollbar(fr_instructions) vscroll.grid(row = 0, column = 1, sticky = "NS") tv.config(yscrollcommand = vscroll.set) vscroll.config(command = tv.yview) # Showing trace message (CPU registers, etc.). self.panes_trace_text = panes_trace_text = AutoPanedWindow(panes, orient = HORIZONTAL, sashrelief = RAISED ) panes.add(panes_trace_text) self.rowconfigure(1, weight = 0) self.sb = sb = Statusbar(self) sb.grid(row = 1, column = 0, sticky = "EWS") self.var_inst_n = var = IntVar(self) sb.right(_("Instructions")) sb.right(var) self.qlog_trace_texts = []
def add_scrollbars_native(outer, inner, row=0, column=0, sizegrip=False): "Adds scroll bars to a widget which supports them natively." outer.rowconfigure(row + 1, weight=0) outer.columnconfigure(column + 1, weight=0) h_sb = Scrollbar(outer, orient=HORIZONTAL, command=inner.xview) h_sb.grid(row=row + 1, column=column, sticky="NESW") v_sb = Scrollbar(outer, orient=VERTICAL, command=inner.yview) v_sb.grid(row=row, column=column + 1, sticky="NESW") inner.configure(xscrollcommand=h_sb.set, yscrollcommand=v_sb.set) if sizegrip: sg = Sizegrip(outer) sg.grid(row=row + 1, column=column + 1, sticky="NESW") else: sg = None return h_sb, v_sb, sg
tk.rowconfigure(0, weight=1) tk.columnconfigure(0, weight=1) tk.columnconfigure(1, weight=0) columns = ["size", "disas"] tv = VarTreeview(tk, columns=columns) tv.heading("#0", text=_("Address")) tv.heading("size", text=_("Size")) tv.heading("disas", text=_("Disassembly")) tv.column("#0", minwidth=120, width=120) tv.column("size", minwidth=30, width=30) tv.column("disas", minwidth=200) tv.grid(row=0, column=0, sticky="NESW") vscroll = Scrollbar(tk) vscroll.grid(row=0, column=1, sticky="NS") tv.config(yscrollcommand=vscroll.set) vscroll.config(command=tv.yview) for i in trace: if DEBUG < 3: print("0x%08X: %s" % (i.addr, i.disas)) tv.insert("", "end", text="0x%08X" % i.addr, values=("-", str(i.disas))) tk.mainloop()