Listbox soll Text in File speichern
Verfasst: Freitag 20. Juni 2008, 19:17
Hallo erstmal
Ich möchte mit einem Entry Feld einträge in eine Listbox generieren. Dann soll beim doppel klicken auf den Eintrag in der Liste ein Wert in ein File eingetragen werden. Dies funktioniert aber nur für den letztne Eintrag in der Liste sauber. Was habe ich vergessen?
gruss
Roel
Ich möchte mit einem Entry Feld einträge in eine Listbox generieren. Dann soll beim doppel klicken auf den Eintrag in der Liste ein Wert in ein File eingetragen werden. Dies funktioniert aber nur für den letztne Eintrag in der Liste sauber. Was habe ich vergessen?
gruss
Roel
Code: Alles auswählen
from Tkinter import *
import tkFont
import os
import codecs
class TopLevelTest3:
def NewWindow(self):
self.root2 = Toplevel()
self.WortSortierenLB = Listbox (self.root2, font=tkFont.Font(family='Tahoma', size='16'))
self.WortSortierenLB.grid(row=0, column=0)
self.WortSortierenLB.bind("<Double-1>",self.getListboxEntry)
self.createEntry = Entry(self.root2,font=tkFont.Font(family='Tahoma', size='16'))
self.createEntry.grid(row=5,column=1)
self.createEntry.insert(0,'')
self.createEntry.focus_force()
self.createEntry.bind("<Return>", self.entryInputInListbox)
fpListbox = open('.\\listboxEntry.txt', 'r')
self.inputEntryFile = [line[:]for line in fpListbox.readlines()]
for item in self.inputEntryFile:
self.WortSortierenLB.insert(END, item)
self.root2.title("New Window")
self.root2.mainloop()
def __init__(self):
self.root1 = Tk()
self.grid = Frame(self.root1)
self.grid.pack()
self.canvas1 = Canvas(self.root1, width=200, height=200)
self.canvas1.grid(in_=self.grid,row=0,column=0)
self.canvas2 = Canvas(self.root1, width=200, height=200)
self.canvas2.grid(in_=self.grid,row=0,column=1)
self.root1.title("TopLevelTest")
self.menubar = Menu(self.root1)
self.menubar.add_command(label="New Window",command=self.NewWindow)
self.root1.config(menu=self.menubar)
self.root1.mainloop()
def entryInputInListbox(self, event):
self.WortSortierenLB.insert(END,self.createEntry.get())
fpOutputEntry = open('.\\listboxEntry.txt','a')
fpOutputEntry.writelines('\n' + self.createEntry.get())
def getListboxEntry(self,event):
self.indexFromListbox = self.WortSortierenLB.curselection()
self.x = self.WortSortierenLB.get(self.indexFromListbox)
cwd = os.getcwd()
cwd1 = cwd + '\\' + self.x
print cwd1
fp1 = codecs.open(cwd1,'a', 'UTF-8')
fp1.write('Was auch immer fuer Text oder Variablen Inhalt')
fp1.close()
TopLevelTest3()