def __init__(self, parent, title, text, **kw): kw = self.initKw(kw) self._calc_MfxDialog().__init__(self, parent, title, kw.resizable, kw.default) top_frame, bottom_frame = self.createFrames(kw) self.createBitmaps(top_frame, kw) # self.text_w = tkinter.Text(top_frame, bd=1, relief="sunken", wrap="word", width=64, height=16) self.text_w.pack(side='left', fill="both", expand=True) # self.text_w.pack(side='top', padx=kw.padx, pady=kw.pady) vbar = self._calcToolkit().Scrollbar(top_frame) vbar.pack(side='right', fill='y') self.text_w["yscrollcommand"] = vbar.set vbar["command"] = self.text_w.yview # self.text = "" if text: self.text = text old_state = self.text_w["state"] self.text_w.config(state="normal") self.text_w.insert("insert", self.text) self.text_w.config(state=old_state) # focus = self.createButtons(bottom_frame, kw) focus = self.text_w self.mainloop(focus, kw.timeout)
def __init__(self, parent, odf): tk.Toplevel.__init__(self, parent) self.wm_title("Value set code") self.parent = parent self.newVal = None self.odf = odf self.showFrame = tk.Frame(self) self.textLabel = tk.Label(self.showFrame, text="Model name: ") self.textLabel.grid(row=0,column=0) self.modelName = tk.StringVar() self.modelName.set("model") self.modelEntry = tk.Entry(self.showFrame, textvariable=self.modelName, width=8) self.modelEntry.bind('<Return>', self._updateModelName) self.modelEntry.grid(row=0,column=1) self.showText = tk.Text(self.showFrame) self.showText.config(background='white') self.showText.grid(row=1,column=0,columnspan=2) #.pack(expand=True) self.clipboardButton = tk.Button(self.showFrame, text="Copy to Clipboard", command=self._copyToClipboard) self.clipboardButton.grid(row=2, column=0, columnspan=2) self.helpLabel = tk.Label(self.showFrame, text="You may use the above code for pasting...") self.helpLabel.grid(row=3, column=0, columnspan=2) self.showFrame.pack() self.protocol("WM_DELETE_WINDOW", self._windowClosed)
def __init__(self, parent, **kwargs): tk.Frame.__init__(self, parent) text_ops = funcs.extract_args(kwargs, TEXT_KEYS, TEXT_KEY) text = tk.Text(self, **text_ops) scrollbar_ops = funcs.extract_args(kwargs, SCROLLBAR_KEYS, SCROLLBAR_KEY) vsb = tk.Scrollbar(self, command=text.yview, **scrollbar_ops) text.configure(yscrollcommand=vsb.set) vsb.pack(side="right", fill="y") text.pack(side="left", fill="both", expand=True) text.tag_configure('br', lmargin2=80, tabs=35) # expose some text methods as methods on this object self.insert = text.insert self.delete = text.delete self.get = text.get self.index = text.index self.search = text.search self.see = text.see # self.state = lambda: change_state(self.text) self.enable = lambda: funcs.set_state_normal(text) self.disable = lambda: funcs.set_state_disabled(text) self.clear = text.delete(1.0, tk.END)
def __init__(self): # ===============GUI items initializarion=============== self.root = Tk.Tk() self.root.wm_title("MathsPhysics") self.text_frame = Tk.Frame(master=self.root) self.text = Tk.Text(self.text_frame) self.text_scrollbar = Tk.Scrollbar(self.text_frame) self.text.config(yscrollcommand=self.text_scrollbar.set) self.text.pack(side=Tk.LEFT, fill=Tk.BOTH, expand=1) self.text_scrollbar.config(command=self.text.yview) self.text_scrollbar.pack(side=Tk.RIGHT, fill=Tk.Y) self.fig = plt.figure(figsize=(5, 5)) #(dpi=100) # figsize=(5, 4), self.canvas = FigureCanvasTkAgg(self.fig, master=self.root) # A tk.DrawingArea. self.canvas.get_tk_widget().pack(side=Tk.TOP, fill=Tk.BOTH, expand=1) # canvas.draw() self.toolbar = NavigationToolbar2TkAgg(self.canvas, self.root) self.toolbar.update() self.canvas._tkcanvas.pack(side=Tk.TOP, fill=Tk.BOTH, expand=1) self.text_frame.pack(side=Tk.TOP, fill=Tk.BOTH, expand=1) self.menubar = Tk.Menu(self.root) self.filemenu = Tk.Menu(self.menubar, tearoff=0) self.filemenu.add_command(label="Load input", command=self._load_data) self.filemenu.add_command(label="Triangulate", command=self._triangulate) self.filemenu.add_command(label="Compare", command=self._compare) self.filemenu.add_command(label="Set conditions", command=self._ask_conds) self.filemenu.add_command(label="Solve", command=self._solve) # Do nothing self.filemenu.add_separator() self.filemenu.add_command(label="Quit", command=self._quit) self.menubar.add_cascade(label="Menu", menu=self.filemenu) self.root.config(menu=self.menubar) # conditions window self.cond_window = None # ============================================================ self.delaunay_triangulation = None self.entries = None self.fem_solver = None self.solver = None self.solution = None self.x_vertices = None self.y_vertices = None # ============================================================= self.tester = None
def initLayout(self): self.editor = tk.Text(self) self.editor.grid(row=0, column=0, sticky="nesw") scrollbar = tk.Scrollbar(self, command=self.editor.yview) scrollbar.grid(row=0, column=1, sticky="nesw") self.editor["yscrollcommand"] = scrollbar.set self.actionsWidget = TimActionsWidget(master=self) self.actionsWidget.grid(row=1, column=0, sticky="w") self.grid_rowconfigure(0, weight=10) self.grid_rowconfigure(1, weight=1)
def show_info(*args): if list_box.curselection(): cs_name = list_box.get(list_box.curselection()) cs = cardsets_dict[cs_name] fn = os.path.join(cs.dir, 'COPYRIGHT') top = tkinter.Toplevel() text = tkinter.Text(top) text.insert('insert', open(fn).read()) text.pack(expand=tkinter.YES, fill=tkinter.BOTH) b_frame = tkinter.Frame(top) b_frame.pack(fill=tkinter.X) button = tkinter.Button(b_frame, text='Close', command=top.destroy) button.pack(side=tkinter.RIGHT)
def __init__(self, parent, odf): tk.Toplevel.__init__(self, parent) self.wm_title("Parameter Summary") self.parent = parent self.newVal = None self.showFrame = tk.Frame(self) self.showText = tk.Text(self.showFrame) self.showText.config(background='white') self.showText.pack(fill=tk.BOTH, expand=True) self.showFrame.pack(fill=tk.BOTH, expand=True) self.protocol("WM_DELETE_WINDOW", self._windowClosed)
def make_expts_part(self, parent, part_name): """Make a component frame for the experiment editor.""" frame = ttk.Frame(parent) self.make_label(frame, part_name) if isinstance(self.template_expt[part_name], collections.Mapping): # This is actually a related group of fields self.expts_boxes[part_name] = boxes = {} self.make_expts_fields(frame, self.template_expt[part_name], boxes) else: textbox = T.Text(frame, width=100, height=5, wrap='word') textbox.grid(row=1, column=0, sticky='nesw') textbox.insert('1.0', self.template_expt[part_name]) self.expts_boxes[part_name] = textbox frame.pack(side='top', fill='x', expand=True)
def _showList(self): """ Creates a new window containing a copy-and-paste aware list of the points. """ def _quitWin(): win.destroy() win = tk.Tk() text = tk.Text(master=win) text.pack() for p in self.pointList: text.insert(tk.END, p.asStr() + "\n") quit = tk.Button(master=win, text='Quit', command=_quitWin) quit.pack() win.wm_title("Copy Window")
def show_config(): if list_box.curselection(): cs_name = list_box.get(list_box.curselection()) card_set = cardsets_dict[cs_name] file_name = os.path.join(card_set.cs_dir, 'config.txt') top = tkinter.Toplevel() text = tkinter.Text(top) text.insert('insert', open(file_name).read()) text.pack(expand=tkinter.YES, fill=tkinter.BOTH) b_frame = tkinter.Frame(top) b_frame.pack(fill=tkinter.X) button = tkinter.Button(b_frame, text='Close', command=top.destroy) button.pack(side=tkinter.RIGHT)
def __init__(self): self.root = Tk.Tk() self.root.wm_title("MathsPhysics") self.text_frame = Tk.Frame(master=self.root) self.text = Tk.Text(self.text_frame) self.text_scrollbar = Tk.Scrollbar(self.text_frame) self.text.config(yscrollcommand=self.text_scrollbar.set) self.text.pack(side=Tk.LEFT, fill=Tk.BOTH, expand=1) self.text_scrollbar.config(command=self.text.yview) self.text_scrollbar.pack(side=Tk.RIGHT, fill=Tk.Y) self.fig = plt.figure(figsize=(5, 5)) #(dpi=100) # figsize=(5, 4), self.canvas = FigureCanvasTkAgg(self.fig, master=self.root) # A tk.DrawingArea. self.canvas.get_tk_widget().pack(side=Tk.TOP, fill=Tk.BOTH, expand=1) # canvas.draw() self.toolbar = NavigationToolbar2TkAgg(self.canvas, self.root) self.toolbar.update() self.canvas._tkcanvas.pack(side=Tk.TOP, fill=Tk.BOTH, expand=1) self.text_frame.pack(side=Tk.TOP, fill=Tk.BOTH, expand=1) self.menubar = Tk.Menu(self.root) self.filemenu = Tk.Menu(self.menubar, tearoff=0) self.filemenu.add_command(label="Load input", command=self.load_data) self.filemenu.add_command(label="Triangulate", command=self.triangulate) self.filemenu.add_command(label="Compare", command=self.compare) self.filemenu.add_separator() self.filemenu.add_command(label="Quit", command=self._quit) self.menubar.add_cascade(label="Menu", menu=self.filemenu) self.root.config(menu=self.menubar) self.A = None self.B = None self.filepath = None self.angle = None self.area = None self.points = None self.segments = None self.data = None self.holes = None self.labels = False self.number_triangles = False self.vertices = None
def initLayout(self): self.choiceWidget = ParChoiceWidget(master=self) self.choiceWidget.grid(row=0, column=0, sticky='nw') self.editor = tk.Text(self) self.editor.grid(row=1, column=0, sticky='nesw') scrollbar = tk.Scrollbar(self, command=self.editor.yview) scrollbar.grid(row=1, column=1, sticky='nesw') self.editor['yscrollcommand'] = scrollbar.set self.actionsWidget = ParActionsWidget(master=self) self.actionsWidget.grid(row=2, column=0, sticky='w') self.grid_rowconfigure(0, weight=1) self.grid_rowconfigure(1, weight=10) self.grid_rowconfigure(2, weight=1)
def __init__(self, parent, app=None, home=None): self.parent = parent self.app = app self.home = home self.url = None self.history = Struct( list=[], index=0, ) self.visited_urls = [] # need to keep a reference because of garbage collection self.images = {} self.defcursor = parent["cursor"] # self.defcursor = 'xterm' self.handcursor = "hand2" frame = ttk.Frame(parent, width=640, height=440) frame.pack(expand=True, fill='both') frame.grid_propagate(False) # create buttons button_width = 8 self.homeButton = ttk.Button(frame, text=_("Index"), width=button_width, command=self.goHome) self.homeButton.grid(row=0, column=0, sticky='w') self.backButton = ttk.Button(frame, text=_("Back"), width=button_width, command=self.goBack) self.backButton.grid(row=0, column=1, sticky='w') self.forwardButton = ttk.Button(frame, text=_("Forward"), width=button_width, command=self.goForward) self.forwardButton.grid(row=0, column=2, sticky='w') self.closeButton = ttk.Button(frame, text=_("Close"), width=button_width, command=self.destroy) self.closeButton.grid(row=0, column=3, sticky='e') # create text widget text_frame = ttk.Frame(frame) text_frame.grid(row=1, column=0, columnspan=4, sticky='nsew', padx=1, pady=1) vbar = ttk.Scrollbar(text_frame) vbar.pack(side='right', fill='y') self.text = tkinter.Text(text_frame, fg='black', bg='white', bd=1, relief='sunken', cursor=self.defcursor, wrap='word', padx=10) self.text.pack(side='left', fill='both', expand=True) self.text["yscrollcommand"] = vbar.set vbar["command"] = self.text.yview # statusbar self.statusbar = HtmlStatusbar(frame, row=2, column=0, columnspan=4) frame.columnconfigure(2, weight=1) frame.rowconfigure(1, weight=1) # load images for name, fn in self.symbols_fn.items(): self.symbols_img[name] = self.getImage(fn) self.initBindings()
rmin = tk.Entry(master=root, text='rmin') rmin.place(anchor=tk.W, relx=0.66, rely=0.16, width=40) rmin.insert(0, 368) tk.Label(master=root, text="to").place(relx=0.74, rely=0.14) rmax = tk.Entry(master=root, text='rmax') rmax.place(anchor=tk.W, relx=0.78, rely=0.16, width=40) rmax.insert(0, 389) tk.Button(master=root, text='Quit', command=_quit).pack(anchor=tk.SW) # a tk.DrawingArea --------------- canvas = FigureCanvasTkAgg(f, master=root) a.annotate("load image file", (0.5, 0.6), horizontalalignment="center") a.annotate("e.g. data/O2-ANU1024.txt.bz2", (0.5, 0.5), horizontalalignment="center") canvas.draw() canvas.get_tk_widget().pack(side=tk.TOP, fill=tk.BOTH, expand=1) toolbar = NavigationToolbar2Tk(canvas, root) toolbar.update() canvas._tkcanvas.pack(side=tk.TOP, fill=tk.BOTH, expand=1) # text info box text = tk.Text(master=root, height=4, fg="blue") text.pack(fill=tk.X) text.insert( tk.END, "To start load an image data file using the `Load image file' button\n") tk.mainloop()
def createWidgets(self): self.chatFrame = tk.Frame(self) self.chatFrame.grid(row=0, column=0, rowspan=10, sticky=tk.S + tk.N + tk.E + tk.W) self.chatBox = tk.Text(self.chatFrame, height=10) self.chatBox.grid(row=0, column=0, sticky=tk.S + tk.N + tk.E + tk.W) self.chatBox.bind("<Key>", lambda e: "break") self.sscr = tk.Scrollbar(self.chatFrame) self.sscr.grid(column=1, row=0, sticky=tk.N + tk.S + tk.W + tk.E) self.chatBox.config(yscrollcommand=self.sscr.set) self.sscr.config(command=self.chatBox.yview) self.chatFrame.columnconfigure(0, weight=1) self.chatFrame.rowconfigure(0, weight=1) self.usersFrame = tk.Frame(self) self.usersFrame.grid(column=1, row=0, rowspan=15, padx=5, sticky=tk.N + tk.S + tk.W + tk.E) scr = tk.Scrollbar(self.usersFrame) scr.grid(column=1, row=1, sticky=tk.N + tk.S + tk.W + tk.E) userLabel = tk.Label(self.usersFrame, text='User list:').grid( column=0, row=0, sticky=tk.N + tk.S + tk.E + tk.W) self.userList = tk.Listbox(self.usersFrame) self.userList.insert(0, 'ALL') self.userList.activate(0) self.userList.grid(column=0, row=1, sticky=tk.N + tk.S + tk.E + tk.W) self.userList.config(yscrollcommand=scr.set) scr.config(command=self.userList.yview) self.usersFrame.columnconfigure(0, weight=1) self.usersFrame.rowconfigure(0, weight=1) self.usersFrame.rowconfigure(1, weight=15) self.messageBox = tk.Text(self, height=3) self.messageBox.grid(row=10, column=0, rowspan=5, sticky=tk.S + tk.N + tk.E + tk.W) self.sendButton = tk.Button(self, text='Send Message') self.sendButton.myName = "Send Button" self.sendButton.grid(row=15, column=0, sticky=tk.N + tk.S + tk.E + tk.W) self.sendButton.bind("<Button-1>", self.send) self.exitButton = tk.Button(self, text='Exit') self.exitButton.myName = "Exit Button" self.exitButton.grid(row=15, column=1, sticky=tk.N + tk.S + tk.E + tk.W) self.exitButton.bind("<Button-1>", self.exit) self.master.bind_all("<Return>", self.send) for i in range(16): self.rowconfigure(i, weight=1) self.columnconfigure(0, weight=3) self.columnconfigure(1, weight=1)
def __init__(self, parent, title, cardset, images, **kw): kw = self.initKw(kw) MfxDialog.__init__(self, parent, title, kw.resizable, kw.default) top_frame, bottom_frame = self.createFrames(kw) self.createBitmaps(top_frame, kw) frame = tkinter.Frame(top_frame) frame.pack(fill="both", expand=True, padx=5, pady=10) # # info_frame = tkinter.LabelFrame(frame, text=_('About cardset')) info_frame.grid(row=0, column=0, columnspan=2, sticky='ew', padx=0, pady=5, ipadx=5, ipady=5) styles = nationalities = year = None if cardset.si.styles: styles = '\n'.join([CSI.STYLE[i] for i in cardset.si.styles]) if cardset.si.nationalities: nationalities = '\n'.join( [CSI.NATIONALITY[i] for i in cardset.si.nationalities]) if cardset.year: year = str(cardset.year) row = 0 for n, t in ( # ('Version:', str(cardset.version)), (_('Type:'), CSI.TYPE[cardset.type]), (_('Styles:'), styles), (_('Nationality:'), nationalities), (_('Year:'), year), # (_('Number of cards:'), str(cardset.ncards)), (_('Size:'), '%d x %d' % (cardset.CARDW, cardset.CARDH)), ): if t is not None: label = tkinter.Label(info_frame, text=n, anchor='w', justify='left') label.grid(row=row, column=0, sticky='nw') label = tkinter.Label(info_frame, text=t, anchor='w', justify='left') label.grid(row=row, column=1, sticky='nw') row += 1 if images: try: from random import choice im = choice(images) f = os.path.join(cardset.dir, cardset.backname) self.back_image = loadImage(file=f) canvas = tkinter.Canvas(info_frame, width=2 * im.width() + 30, height=im.height() + 2) canvas.create_image(10, 1, image=im, anchor='nw') canvas.create_image(im.width() + 20, 1, image=self.back_image, anchor='nw') canvas.grid(row=0, column=2, rowspan=row + 1, sticky='ne') info_frame.columnconfigure(2, weight=1) info_frame.rowconfigure(row, weight=1) except Exception: pass # bg = top_frame["bg"] bg = 'white' text_w = tkinter.Text(frame, bd=1, relief="sunken", wrap="word", padx=4, width=64, height=16, bg=bg) text_w.grid(row=1, column=0, sticky='nsew') sb = tkinter.Scrollbar(frame) sb.grid(row=1, column=1, sticky='ns') text_w.configure(yscrollcommand=sb.set) sb.configure(command=text_w.yview) frame.columnconfigure(0, weight=1) frame.rowconfigure(1, weight=1) # text = '' f = os.path.join(cardset.dir, "COPYRIGHT") try: text = open(f).read() except Exception: pass if text: text_w.config(state="normal") text_w.insert("insert", text) text_w.config(state="disabled") # focus = self.createButtons(bottom_frame, kw) # focus = text_w self.mainloop(focus, kw.timeout)
def __init__(self, parent, title, cardset, images, **kw): kw = self.initKw(kw) MfxDialog.__init__(self, parent, title, kw.resizable, kw.default) top_frame, bottom_frame = self.createFrames(kw) self.createBitmaps(top_frame, kw) frame = ttk.Frame(top_frame) frame.pack(fill="both", expand=True, padx=5, pady=10) # # row = 0 info_frame = ttk.LabelFrame(frame, text=_('About cardset')) info_frame.grid(row=row, column=0, columnspan=2, sticky='ew', padx=0, pady=5, ipadx=5, ipady=5) row += 1 styles = nationalities = year = None if cardset.si.styles: styles = '\n'.join([CSI.STYLE[i] for i in cardset.si.styles]) if cardset.si.nationalities: nationalities = '\n'.join([CSI.NATIONALITY[i] for i in cardset.si.nationalities]) if cardset.year: year = str(cardset.year) frow = 0 for n, t in ( # ('Version:', str(cardset.version)), (_('Type:'), CSI.TYPE[cardset.type]), (_('Styles:'), styles), (_('Nationality:'), nationalities), (_('Year:'), year), # (_('Number of cards:'), str(cardset.ncards)), (_('Size:'), '%d x %d' % (cardset.CARDW, cardset.CARDH)), ): if t is not None: label = ttk.Label(info_frame, text=n, anchor='w', justify='left') label.grid(row=frow, column=0, sticky='nw', padx=4) label = ttk.Label(info_frame, text=t, anchor='w', justify='left') label.grid(row=frow, column=1, sticky='nw', padx=4) frow += 1 if images: try: from random import choice im = choice(images) f = os.path.join(cardset.dir, cardset.backname) self.back_image = loadImage(file=f) # store the image label = ttk.Label(info_frame, image=im, padding=5) label.grid(row=0, column=2, rowspan=frow+1, sticky='ne') label = ttk.Label(info_frame, image=self.back_image, padding=(0, 5, 5, 5)) # left margin = 0 label.grid(row=0, column=3, rowspan=frow+1, sticky='ne') info_frame.columnconfigure(2, weight=1) info_frame.rowconfigure(frow, weight=1) except Exception: pass if USE_PIL: padx = 4 pady = 0 settings_frame = ttk.LabelFrame(frame, text=_('Settings')) settings_frame.grid(row=row, column=0, columnspan=2, sticky='ew', padx=0, pady=5, ipadx=5, ipady=5) row += 1 var = tkinter.IntVar() self.x_offset = PysolScale( settings_frame, label=_('X offset:'), from_=5, to=40, resolution=1, orient='horizontal', variable=var, value=cardset.CARD_XOFFSET, # command=self._updateScale ) self.x_offset.grid(row=0, column=0, sticky='ew', padx=padx, pady=pady) var = tkinter.IntVar() self.y_offset = PysolScale( settings_frame, label=_('Y offset:'), from_=5, to=40, resolution=1, orient='horizontal', variable=var, value=cardset.CARD_YOFFSET, # command=self._updateScale ) self.y_offset.grid(row=1, column=0, sticky='ew', padx=padx, pady=pady) row += 1 # bg = top_frame["bg"] bg = 'white' text_w = tkinter.Text(frame, bd=1, relief="sunken", wrap="word", padx=4, width=64, height=16, bg=bg) text_w.grid(row=row, column=0, sticky='nsew') sb = ttk.Scrollbar(frame) sb.grid(row=row, column=1, sticky='ns') text_w.configure(yscrollcommand=sb.set) sb.configure(command=text_w.yview) frame.columnconfigure(0, weight=1) frame.rowconfigure(1, weight=1) # text = '' fn = os.path.join(cardset.dir, "COPYRIGHT") try: with open(fn, "rt") as fh: text = fh.read() except Exception: pass if text: text_w.config(state="normal") text_w.insert("insert", text) text_w.config(state="disabled") # focus = self.createButtons(bottom_frame, kw) # focus = text_w self.mainloop(focus, kw.timeout)