Vorneweg ich bin Anfänger.
Code: Alles auswählen
#!/usr/local/bin/python3.1
# ToDo:
# menus müssen mit Funktionen versehen werden.
# def sortieren muss an tkinter angepasst werden.
import sys, tkinter, tkinter.scrolledtext
import functions
main = tkinter.Tk()
# Zielobjekt der Menubefehle
fr = tkinter.scrolledtext.ScrolledText(main)
fr.pack(expand=1, fill="both")
# Untere Leiste
fr1 = tkinter.Frame(main, height=20, relief="sunken", bd=1)
fr1.pack(side="top", fill="both")
# erzeugt gesamte Menuleiste
mBar = tkinter.Menu(main)
# erzeugt Menuobjekte in der Menuleiste
mFile = tkinter.Menu(mBar)
# Menu nicht abtrennbar
mFile["tearoff"] = 0
mEdit = tkinter.Menu(mBar)
mEdit["tearoff"] = 0
# erzeugt Elemente im Datei Menu
mFile.add_command(label="Neu", command=lambda: print(type(fr.frame)))
mFile.add_command(label="Laden", command=lambda: functions.openfile(fr))
mFile.add_command(label="Speichern", command= lambda: functions.savefile(fr))
mFile.add_separator()
mFile.add_command(label="Benden", command=lambda: functions.ende())
# erzeugt Elemente im Bearbeiten Menu
mEdit.add_command(label="Sortieren", command=lambda: functions.sortieren())
# erstes Menu zur Menuleiste hinzu
mBar.add_cascade(label="Datei", menu=mFile)
mBar.add_cascade(label="Bearbeiten", menu=mEdit)
# gesamte Menuleiste zu Fenster hinzu
main["menu"] = mBar
main.mainloop()
Code: Alles auswählen
import sys, tkinter
from tkinter import filedialog
# ToDo:
# def savefile(): herausfinden wie ich den inhalt von fr auslesen kann.
# def sortieren(): anpassen.
def ende():
sys.exit()
def openfile(fr):
fileopen = filedialog.askopenfilename()
d = open(fileopen)
z = d.readline()
while z:
fr.insert("end", z)
z = d.readline()
d.close()
def savefile(fr):
filesave = filedialog.asksaveasfilename()
d = open(filesave,"w")
z = d.writelines()
while z:
fr.get("end", z)
z = d.writelines()
d.close()
def sortieren():
print("Sortieren")
f = open(eingabe)
allezeilen = f.readlines()
f.close()
allezeilen.sort(key=str)
f = open(eingabe,"w+")
f.writelines(allezeilen)
f.close()
[LinuxDonald@localhost asw-sort]$ ./asw-sort-gui.py
Exception in Tkinter callback
Traceback (most recent call last):
File "/usr/local/lib/python3.1/tkinter/__init__.py", line 1399, in __call__
return self.func(*args)
File "./asw-sort-gui.py", line 33, in <lambda>
mFile.add_command(label="Speichern", command= lambda: functions.savefile(fr))
File "/home/LinuxDonald/asw-sort/functions.py", line 23, in savefile
z = d.writelines()
TypeError: writelines() takes exactly 1 argument (0 given)
[LinuxDonald@localhost asw-sort]$
P.s. def sortieren(): << bitte ignorieren ist noch als das alles noch aus der Zeit wo alles für Konsole gemacht war.