GUI
Verfasst: Freitag 11. Juni 2004, 15:35
Hallo
so schauts aus. Ist es richtig? Bin ich auf dem richtigen Wege???
Sende nur Teile des Skriptes, damit man nicht vor der Länge erschreckt
kann man damit Leben???
Viele Grüße
infostud
so schauts aus. Ist es richtig? Bin ich auf dem richtigen Wege???
Sende nur Teile des Skriptes, damit man nicht vor der Länge erschreckt
Code: Alles auswählen
........
class Anwendung(Frame):
def __init__(self, master=None):
Frame.__init__(self, master) # das main window
self.smp3 = SMP3A2.SMP3s() #----->Instanz von SMP3s
self.createMenuBar() # auf root Window
self.createButtonBar() # auch auf root Window
self.createWidgets() # Fuelle die main area
self.createScrollbar()
#self.as_list() #----->MP3 Liste zurückgeben
self.pack() # und zeige die main area an dieser Stelle
self.createStatusbar("ok") # und wieder auf root Window ganz unten
self._root().protocol("WM_DELETE_WINDOW", self.endit) # wegen IDLE
...........
def createButtonBar(self):
self.buttonbar = Frame(self._root())
b = Button(self.buttonbar, text="Laden", command=self.smp3.laden) #<-----
b.pack(side=LEFT)
b = Button(self.buttonbar, text="Speichern", command=self.smp3.speichern) #<-----
b.pack(side=LEFT)
b = Button(self.buttonbar, text="Suchen", command=self.smp3.search) #<-----
b.pack(side=LEFT)
...........
b = Button(self.buttonbar, text="Alles loeschen", command=self.abbrechen) #<-----
b.pack(side=RIGHT)
b = Button(self.buttonbar, text="Abbrechen", command=self.abbrechen) #<-----
b.pack(side=RIGHT)
b = Button(self.buttonbar, text="Ok", command=self.smp3.zeige) #<-----
..........
self.lb = Listbox(self._root(), yscrollcommand=self.scrollbar.set)
#for i in as_list: #<------
#self.lb.insert(END, str(i)) #<-----
self.lb.pack(side=LEFT, fill=BOTH)
self.scrollbar["command"] = self.lb.yview
..........
#def as_list(self):
#...
.........
def abbrechen(self): #<-----
self.suche.delete(0, END)
self.dateiname.delete(0, END)
..........
Code: Alles auswählen
..........
def search(self,**patterns):
# uebersetze und kompiliere Patterns
cpatterns = {}
for p in patterns:
if patterns[p] != "": # das passt immer
epat = "^.*" + string.replace(patterns[p], "*", ".*") + ".*$"
cpatterns[p] = re.compile(epat)
# gib Ergebnisliste zurueck
return [dateiname for dateiname in self.mp3s
if testsearch(self.mp3s[dateiname], cpatterns)]
def zeige(self, dateinamen=None):
if type(dateinamen) == type([]):
for dateiname in dateinamen:
MP3s.zeige(self, dateiname)
else:
MP3s.zeige(self, dateinamen)
def speichern(self, speicherdateiname=vorgabespeicherdateiname):
f = file(speicherdateiname,"w")
for dateiname in self.mp3s:
dic = self.mp3s[dateiname]
for schluessel in dic:
s = "%s%s%s%s%s\n" % (dateiname, separator,
schluessel, separator, dic[schluessel])
f.write(s)
f.close()
def laden(self, speicherdateiname=vorgabespeicherdateiname):
self.mp3s = {}
f = file(speicherdateiname,"r")
for line in f:
line = string.replace(line,"\n","")
[dateiname, schluessel, wert] = string.split(line,separator)
self.set(dateiname, schluessel, wert)
f.close()
Viele Grüße
infostud