Beispiele: Erstellung eines Editors

editor1.pyw
# --------------------------
# Dateiname: editor1.pyw
# Ganz einfacher Texteditor
# --------------------------
from tkinter import *
 
class Editor(object):
  def __init__(self):
      self.fenster=Tk()
      self.fenster.title("Unser Texteditor")
      self.text=Text(self.fenster,
                     width=80,height=30,
                     wrap=WORD,
                     font=('ARIAL',10))
      self.text.pack()
      self.fenster.mainloop()
 
editor = Editor()      
editor2.pyw
# --------------------------
# Dateiname: editor2.pyw
# Ganz einfacher Texteditor
# --------------------------
from tkinter import *
 
class Editor(object):
  def __init__(self):
      self.fenster=Tk()
      self.fenster.title("Unser Texteditor")
      self.scrollbar=Scrollbar(self.fenster)
      self.scrollbar.pack(side=RIGHT,fill=Y)
      self.text=Text(self.fenster,
                     width=40,height=10,
                     wrap=WORD,
                     font=('ARIAL',10),
                     yscrollcommand=self.scrollbar.set)
      self.text.pack()
      self.scrollbar.config(command=self.text.yview)
      self.fenster.mainloop()
 
editor = Editor()      
editor3.pyw
# --------------------------
# Dateiname: editor3.pyw
# Ganz einfacher Texteditor
# --------------------------
from tkinter import *
 
class Editor(object):
  def __init__(self):
      self.fenster=Tk()
      self.fenster.title("Unser Texteditor")
      # Textfeld mit Scrollbar
      self.scrollbar=Scrollbar(self.fenster)
      self.scrollbar.pack(side=RIGHT,fill=Y)
      self.text=Text(self.fenster,
                     width=40,height=10,
                     wrap=WORD,
                     font=('ARIAL',10),
                     yscrollcommand=self.scrollbar.set)
      self.text.pack()
      self.scrollbar.config(command=self.text.yview)  
      # MenĂ¼
      self.__addMenueleiste()
      self.__addFormatmenue()
      self.fenster.mainloop()
 
  def __addMenueleiste(self):
      self.menueleiste=Menu(self.fenster)
      self.fenster.config(menu=self.menueleiste) 
 
  def __addFormatmenue(self):
      self.formatmenue=Menu(master=self.menueleiste)
      self.schrifttyp=StringVar()
      self.menueleiste.add_cascade(label="Schrifttyp",
                                   menu=self.formatmenue)
      self.formatmenue.add_radiobutton(label="Arial",
                                       variable=self.schrifttyp,
                                       value="Arial",
                                       command=self.formatieren)
      self.formatmenue.add_radiobutton(label="Courier",
                                       variable=self.schrifttyp,
                                       value="Courier",
                                       command=self.formatieren)
      self.formatmenue.add_radiobutton(label="Times",
                                       variable=self.schrifttyp,
                                       value="Times",
                                       command=self.formatieren)
 
  def formatieren(self):
      schrifttyp=self.schrifttyp.get()
      self.text.config(font=(schrifttyp,10))
 
editor = Editor()      
editor4.pyw
# --------------------------
# Dateiname: editor4.pyw
# Ganz einfacher Texteditor
# --------------------------
from tkinter import *
 
class Editor(object):
  def __init__(self):
      self.fenster=Tk()
      self.fenster.title("Unser Texteditor")
      # Textfeld mit Scrollbar
      self.scrollbar=Scrollbar(self.fenster)
      self.scrollbar.pack(side=RIGHT,fill=Y)
      self.text=Text(self.fenster,
                     width=40,height=10,
                     wrap=WORD,
                     font=('ARIAL',10),
                     yscrollcommand=self.scrollbar.set)
      self.text.pack()
      self.scrollbar.config(command=self.text.yview)  
      # MenĂ¼
      self.__addMenueleiste()
      self.__addDateimenue()
      self.__addFormatmenue()    
      self.fenster.mainloop()
 
  def __addMenueleiste(self):
      self.menueleiste=Menu(self.fenster)
      self.fenster.config(menu=self.menueleiste) 
 
  def __addFormatmenue(self):
      self.formatmenue=Menu(master=self.menueleiste)
      self.menueleiste.add_cascade(label="Schrifttyp",
                                   menu=self.formatmenue)
      self.schrifttyp=StringVar()
      self.formatmenue.add_radiobutton(label="Arial",
                                       variable=self.schrifttyp,
                                       value="Arial",
                                       command=self.formatieren)
      self.formatmenue.add_radiobutton(label="Courier",
                                       variable=self.schrifttyp,
                                       value="Courier",
                                       command=self.formatieren)
      self.formatmenue.add_radiobutton(label="Times",
                                       variable=self.schrifttyp,
                                       value="Times",
                                       command=self.formatieren)
 
  def __addDateimenue(self):
      self.dateimenue=Menu(master=self.menueleiste)
      self.menueleiste.add_cascade(label="Datei",
                                   menu=self.dateimenue)    
      self.dateimenue.add_command(label="Laden",
                                  command=self.laden)
      self.dateimenue.add_command(label="Speichern",
                                  command=self.speichern)
      self.dateimenue.add_separator()
      self.dateimenue.add_command(label="Ende",
                                  command=self.beenden)
 
 
  def formatieren(self):
      schrifttyp=self.schrifttyp.get()
      self.text.config(font=(schrifttyp,10))
 
  def laden(self):
      self.datei=filedialog.askopenfile()
      if self.datei:
          self.text.delete(1.0,END)
          self.text.insert(1.0,self.datei.read())
          self.datei.close()
 
  def speichern(self):
      self.datei=filedialog.asksaveasfile()
      if self.datei:
          self.datei.write(self.text.get(1.0,END))
          self.datei.close()
 
  def beenden(self):
      if messagebox.askyesno("Beenden",
                             "Wollen Sie wirklich das Programm beenden?"):
          self.fenster.destroy()  
 
editor = Editor()