schonmal danke für die hilfe!
hm.. schaut doch schon ganz gut aus.. bissl viele self's
Code: Alles auswählen
#---------------------------------------------------------
# imports
import os
import string
import re
import tkFileDialog
import ScrolledText
from Tkinter import *
class convertWindow:
#---------------------------------------------------------
# build gui
def __init__(self):
self.root=Tk()
frame=Frame(self.root)
frame.pack(expand=YES)
self.root.title('XML converter vol 1.0')
selectrahmen = Frame(self.root, relief="groove", borderwidth="2")
selectrahmen.pack(fill="x")
select1 = Frame(selectrahmen)
select1.pack(fill="x")
select2 = Frame(selectrahmen)
select2.pack(fill="x")
selectLab = Label(select1, text='Would you like to convert a single file or multiple files?')
selectLab.pack(side = "top", anchor="w")
self.v = IntVar()
Radiobutton(select2, text="single", variable=self.v, value=1, command=lambda: self.sing()).pack(side="left")
Radiobutton(select2, text="multiple", variable=self.v, value=2, command=lambda: self.mult()).pack(side="left")
self.v.set('1')
eingaberahmen = Frame(self.root, relief="groove", borderwidth="2")
eingaberahmen.pack(fill="x")
suchDatei = Label(eingaberahmen, text = 'File: ')
suchDatei.grid(row=1,column=1)
self.datei = Entry(eingaberahmen, width=45)
self.datei.grid(row=1,column=2)
self.dat = Button(eingaberahmen, text = 'search', command=lambda: self.get_file())
self.dat.grid(row=1,column=3)
suchPfad = Label(eingaberahmen, text = 'Directory: ')
suchPfad.grid(row=2,column=1)
self.path = Entry(eingaberahmen, width=45, state='disabled')
self.path.grid(row=2,column=2)
self.direct = Button(eingaberahmen, text = 'search',state='disabled', command=lambda: self.get_dir())
self.direct.grid(row=2,column=3)
eingaberahmen2 = Frame(self.root)
eingaberahmen2.pack()
self.cancel = Button(eingaberahmen2, text = 'Cancel', command=lambda: self.can())
self.cancel.pack(side='left')
self.ok = Button(eingaberahmen2, text = 'OK')
self.ok.pack(side='left')
ausgaberahmen = Frame(self.root, relief="groove", borderwidth="2")
ausgaberahmen.pack(fill="x")
ausgabeLab = Label(ausgaberahmen, text = 'Messagescreen').pack(side = "top", anchor="w")
self.ausgabe = ScrolledText.ScrolledText(ausgaberahmen, width=61, height=10, state='disabled', bg='white')
self.ausgabe.pack()
self.set_out('Please select a file for conversion.', 'y')
#---------------------------------------------------------
# get directory
def get_dir(self):
self.path.insert(0,tkFileDialog.askdirectory())
#---------------------------------------------------------
# get filepath
def get_file(self):
self.datei.insert(0,tkFileDialog.askopenfilename())
#---------------------------------------------------------
# cancel
def can(self):
old1 = self.path["state"]
old2 = self.datei["state"]
self.path["state"] = "normal"
self.datei["state"] = "normal"
self.path.delete(0,END)
self.datei.delete(0,END)
self.path["state"] = old1
self.datei["state"] = old2
self.v.set('1')
self.path["state"] = "disabled"
self.direct["state"] = "disabled"
self.datei["state"] = "normal"
self.dat["state"] = "normal"
self.set_out('Please select a file for conversion.', 'y')
#---------------------------------------------------------
# convert a single file window behaviour
def sing(self):
self.path.delete(0,END)
#self.datei.delete(0,END)
self.path["state"] = "disabled"
self.direct["state"] = "disabled"
self.datei["state"] = "normal"
self.dat["state"] = "normal"
self.set_out('Please select a file for conversion.', 'y')
#---------------------------------------------------------
# convert multiple files window behaviour
def mult(self):
#self.path.delete(0,END)
self.datei.delete(0,END)
self.path["state"] = "normal"
self.direct["state"] = "normal"
self.datei["state"] = "disabled"
self.dat["state"] = "disabled"
self.set_out('Please select a directory to make the rogram search for files.\nNote: ALL xml files will be converted!', 'y')
#---------------------------------------------------------
# print messages to messagescreen
def set_out(self, text, opt):
text = text + '\n--------------------------------------------------------------------------------------------------------------------------\n'
self.ausgabe["state"] = "normal"
if (opt == 'y'):
self.ausgabe.delete(1.0,END)
self.ausgabe.insert(END, str(text))
self.ausgabe["state"] = "disabled"
self.ausgabe.see(END)
#---------------------------------------------------------
# start gui
convert = convertWindow()
convert.root.mainloop()
slide