def __init__( self, master, is_dir: bool = False, loc: str = '', callback: Callable[[str], None] = None, ) -> None: """Initialise the field. - Set is_dir to true to look for directories, instead of files. - width sets the number of characters to display. - callback is a function to be called with the new path whenever it changes. """ from tooltip import add_tooltip super(FileField, self).__init__(master) self._location = loc self.is_dir = is_dir self._text_var = tk.StringVar(master=self, value='') if is_dir: self.browser = filedialog.Directory( self, initialdir=loc, ) # type: commondialog.Dialog else: self.browser = filedialog.SaveAs( self, initialdir=loc, ) if callback is None: callback = self._nop_callback self.callback = callback self.textbox = ReadOnlyEntry( self, textvariable=self._text_var, font=_file_field_font, cursor=utils.CURSORS['regular'], ) self.textbox.grid(row=0, column=0, sticky='ew') self.columnconfigure(0, weight=1) utils.bind_leftclick(self.textbox, self.browse) # The full location is displayed in a tooltip. add_tooltip(self.textbox, self._location) self.textbox.bind('<Configure>', self._text_configure) self.browse_btn = ttk.Button( self, text="...", width=1.5, command=self.browse, ) self.browse_btn.grid(row=0, column=1) self._text_var.set(self._truncate(loc))
def SaveFile(ev): fn = filedialog.SaveAs(root, filetypes=[('*.txt files', '.txt')]).show() if fn == '': return if not fn.endswith(".txt"): fn += ".txt" open(fn, 'wt').write(textbox.get('1.0', 'end'))
def SaveFile(ev): fn = filedialog.SaveAs(root, filetypes=[('.jpg', '.jpeg','.png')]).show() # if fn == '': # return # if not fn.endswith(".txt"): # fn += ".txt" open(fn, 'wt').write(textbox.get('1.0', 'end'))
def save(): fn = filedialog.SaveAs(filetypes=[('*.txt', '.txt')]).show() if fn == '': return if not fn.endswith(".txt"): fn += ".txt" open(fn, 'wt').write(email.get('1.0', 'end'))
def __init__(self, title="Save As", initial_dir=_os.path.curdir, initial_file=None, filetypes=None, default_ext=""): """ :Parameters: `title` : str The Dialog Window name. Defaults to "Save As". `initial_dir` : str The directory to start in. `initial_file` : str A default file name to be filled in. Defaults to None. `filetypes` : list of tuple An optional list of tuples containing (name, extension) to filter to. If the `default_ext` argument is not given, this list also dictactes the extension that will be added to the entered file name. If a list of `filetypes` are not give, you can enter any file name to save as. For example: `[("PNG", ".png"), ("24-bit Bitmap", ".bmp")]` `default_ext` : str A default file extension to add to the file. This will override the `filetypes` list if given, but will not override a manually entered extension. """ from tkinter import filedialog self._dialog = filedialog.SaveAs(title=title, initialdir=initial_dir, initialfile=initial_file or (), filetypes=filetypes or (), defaultextension=default_ext)
def save_geometry(): fn = filedialog.SaveAs(root, filetypes=[('*.txt files', '.txt')]).show() if fn == '': return if not fn.endswith(".txt"): fn += ".txt" open(fn, 'wt').write(textbox.get('1.0', 'end-1c').replace(' ', ''))
def SaveFile(ev): fileName = fileDialog.SaveAs(root, filetypes=[('*.csv files', '.csv')]).show() if fileName == '': return if not fileName.endswith(".csv"): fileName += ".csv"
def save_file(self, _ev): fn = tk_filedialog.SaveAs( self.root, initialfile=f'{self.map_window.img_name}_region.json', filetypes=[('*.json files', '*.json')]).show() if fn == '': return if not fn.endswith('.json'): fn += '.json' x_min, x_max = self.hist[1][0], self.hist[1][-1] x_step = self.hist[1][1] - self.hist[1][0] y_min, y_max = self.hist[2][0], self.hist[2][-1] y_step = self.hist[2][1] - self.hist[2][0] channels = self.map_window.channels_histogram json.dump( { 'channels': channels, 'x_min': x_min, 'x_max': x_max, 'x_step': x_step, 'y_min': y_min, 'y_max': y_max, 'y_step': y_step, 'polygons': self.canvas_image.polygons }, open(fn, 'w'), indent=4)
def asksavefile(self): dir, base = self.defaultfilename("save") if not self.savedialog: self.savedialog = tkFileDialog.SaveAs(master=self.text, filetypes=self.filetypes) filename = self.savedialog.show(initialdir=dir, initialfile=base) return filename
def saveFileDialog(): filetypes = [ ("Python sources", "*.py"), ("Lua sources", "*.lua"), ("All files", "*"), ] dialog = filedialog.SaveAs(root, filetypes=filetypes) print(dialog.show())
def save(): root.filename = filedialog.asksaveasfilename( initialdir=r'Text Editor\Saved Files', title='Save', filetypes=(('*.txt', 'Text Files'), ('*.*', 'All Files'))) lbl = Label(root, font=8, text=root.filename, justify=LEFT).grid(row=0, column=0) filedialog.SaveAs(root)
def savefile(): filename = filedialog.SaveAs(window, filetypes=[('*.txt files', '.txt')]).show() if filename == '': return if not filename.endswith(".txt"): filename += ".txt" open(filename, 'wt').write(textbox.get('1.0', 'end'))
def asksavefile(self): dir, base = self.defaultfilename('save') if not self.savedialog: self.savedialog = tkFileDialog.SaveAs(parent=self.text, filetypes=self.filetypes, defaultextension=self. defaultextension) filename = self.savedialog.show(initialdir=dir, initialfile=base) return filename
def save_file(self, saving_text): file = tkFileDialog.SaveAs(self.main_window, filetypes=[('*.txt files', '.txt')]).show() if file == '': return if not file.endswith(".txt"): file += ".txt" open(file, 'wt').write(saving_text)
def __init__(self, master, stereonet_size=750): super().__init__(master) self.winfo_toplevel().title('Stereonet') self.grid(row=0, column=0, sticky=tk.NSEW) master.rowconfigure(0, weight=1) master.columnconfigure(0, weight=1) self.rowconfigure(0, weight=0) self.rowconfigure(1, weight=1) self.rowconfigure(99, weight=0) self.columnconfigure(0, weight=0) self.columnconfigure(1, weight=1) self.columnconfigure(2, weight=1) self._setup_menus_and_toolbars() statusbar = ttk.Frame(self) statusbar.grid(row=99, column=0, columnspan=99, sticky=tk.NSEW) for row in range(99): statusbar.columnconfigure(row, weight=1) statusbar.columnconfigure(99, weight=0) ttk.Sizegrip(statusbar).grid(row=0, column=99, sticky=tk.NSEW) self._status_message = tk.StringVar(self) ttk.Label(statusbar, textvariable=self._status_message) \ .grid(row=0, column=0, sticky=tk.NSEW) self._stereonets = [] self._setup_stereonets(stereonet_size) self.data_groups = [] self._net_input = StereonetInput(self, status_var=self._status_message, on_selection_change=self._on_group_selection_change) self._net_input.grid(row=1, column=2, sticky=tk.NSEW) for group in [DataGroup('test', Line, False), DataGroup('test 2', Plane, False)]: self.add_group(group) self.data_groups[0].add_net_object(Line(*map(radians, (10, 180)))) self.data_groups[0].add_net_object(Line(*map(radians, (5, 330)))) self.data_groups[1].add_net_object(Plane(*map(radians, (210, 85)))) self._current_file_name = None filed_opts = {'initialdir': os.curdir, 'parent': self} saveopend_opts = { 'defaultextension': '.snet', 'filetypes': (('Stereonet data', '*.snet'), ('JSON data', '*.json'), ('Text files', '*.txt'), ('All files', '*')), **filed_opts } self._open_dialog = filedialog.Open( title='Open file', multiple=False, **saveopend_opts) self._save_dialog = filedialog.SaveAs( title='Save file', **saveopend_opts) if len(sys.argv) > 1: self.open_file(sys.argv[1]) for net in self._stereonets: for event in '<Enter>', '<Leave>': net.bind_netobject(event, self._net_object_handler)
def SaveFile(self): fn = tkFileDialog.SaveAs(root, filetypes=[('*.gif files', '.gif')]).show() if fn == '': return if not fn.endswith(".gif"): fn += ".gif" self.im2.save(fn)
def create_db(self, event=None): fn = filedialog.SaveAs(self.root, filetypes=[('*.db files', '.db')]).show() if fn == '': return if not fn.endswith('.db'): fn += '.db' db_creation(fn) self.conn = sq3.connect(fn) self.curs = self.conn.cursor()
def export_image(self, *args): file = filedialog.SaveAs( filetypes=[("PNG", "*.png"), ("JPEG", "*.jpg;*.jpeg;*.jpe")]) file.show() if file.filename is "": return self.parent.image.save(fix_extension(file.filename, "png"))
def save_image(self): image = self.fig ftypes = [('Image files', '*.png'), ('All files', '*')] dlg = filedialog.SaveAs(self,defaultextension='.png',filetypes = ftypes) fl = dlg.show() if fl != '': if not fl.endswith('.png'): fl = fl +'.png' image.savefig(fl)
def whileSaveAs(self): filetyp = [('Text Files', '*.txt'), ('Python files', '*.py'), ('All files','*')] t = filedialog.SaveAs(self, defaultextension='txt',filetypes = filetyp) file = t.show() if file !='': newfile = open(file, 'w') newfile.write(self.w.get(1.0,END)) newfile.close() self.master.title(os.path.basename(file))
def export_postscript(self, *args): file = filedialog.SaveAs(filetypes=[("PostScript", "*.ps")]) file.show() if file is None: return self.parent.canvas.update() self.parent.canvas.postscript(file=fix_extension(file.filename, "ps"), colormode="color")
def saveFile(self): ftypes = [('Python files', '*.py'), ('All files', '*')] dlg = filedialog.SaveAs(self, filetypes=ftypes) fl = dlg.show() if fl != '': fl = open(fl, 'w') data = self.text.get('1.0', tk.END + '-1c') fl.write(data) fl.close()
def savedialog(): root = tkinter.Tk() root.withdraw() # file = fd.asksaveasfile(mode="w", parent=root, title="Save", initialdir="D:\\temp", filetypes=[("YAML", "*.yml")], defaultextension=".yml") path = fd.SaveAs(parent=root, title="Save", initialdir="D:\\temp", filetypes=[("YAML", "*.yml")], defaultextension=".yml").show() root.destroy() return path
def save_tasks(): fn = filedialog.SaveAs(root, filetypes=[('*.txt files', '.txt')]).show() if fn == '': return if not fn.endswith(".txt"): fn += ".txt" for i in range(20): c1, c2, b1, b2, b3, b4, a1, a2 = task_generator.generate_task() task_writer.write_task(fn, c1, c2, b1, b2, b3, b4, a1, a2, i + 1) save_answers(fn.replace(".txt", "_ответы.txt"), c1, c2, b1, b2, b3, b4, a1, a2, i + 1)
def save_file(self): ftypes = [('Text files', '*.txt'), ('All files', '*')] dlg = filedialog.SaveAs(root, filetypes = ftypes) fl = dlg.show() if fl != '': global g_canal_1, g_canal_2, g_canal_3 if (len(g_canal_1) > 0): grabar(g_canal_1, g_canal_2, g_canal_3, fl) self.f_saved = True #Sampled data saved else: print("No samled data to save") message_string = "No samled data to save\n" self.show_message(self.text_message, message_string)
def zapiszSwiat(self): nazwa = None dlg = filedialog.SaveAs(initialfile = nazwa) plik = dlg.show() if len(plik): nazwa = plik if nazwa: plik = open(nazwa + ".txt", 'w') for org in self.__organizmy: plik.write(org.imie + ' ' + str(org.x) + ' ' + str(org. y) + '\n') plik.close()
def _save_colors(self, _ev=None): if hasattr(self, 'save_or_load_colors_window'): self.save_or_load_colors_window.destroy() fn = tk_filedialog.SaveAs(self.root, initialfile='colors.json', filetypes=[('*.json files', '*.json') ]).show() if fn == '': return if not fn.endswith('.json'): fn += '.json' json.dump({'colors': self.map_window.colors.tolist()}, open(fn, 'w'), indent=4)
def export(self, _): filename = filedialog.SaveAs(self, filetypes=[('Файлы DXF', '.dxf')]).show() if filename: d = sdxf.Drawing() for i, profile in enumerate(self.calculated_profiles): layer = str(i) d.layers.append(sdxf.Layer(layer)) d.extend(profile.dxf_draw(layer=layer)) if not filename.endswith('.dxf'): filename += '.dxf' d.saveas(filename)
def on_choose_output_file_button_click(self, event): file_name = filedialog.SaveAs(self, filetypes=[("*.txt files", ".txt") ]).show() if file_name == '': return None if not file_name.endswith(".txt"): file_name += ".txt" try: output_file = open(file_name, 'w') self.output_file_name.set(file_name) self.show_sort_button() output_file.close() except IOError as e: messagebox.showerror("Can't open this file\n", e) self.hide_sort_button()
def save_file(self, event=None): """Launch a 'Save As' dialog.""" if not self.basename or not self.listing.get('1.0', 'end').strip(): return dialog = filedialog.SaveAs( self, initialdir=self.save_dir, initialfile=f'{os.path.splitext(self.basename)[0]}.txt', filetypes=(('Text files', '*.txt'), )) filename = dialog.show() if filename: self.save_dir, self.basename = os.path.split(filename) with open(filename, 'w', encoding='utf-8', newline='\n') as f: f.write(self.listing.get('1.0', 'end'))