nachdem ich mein progrämmchen nun "fertig" habe wollte ich dem ganzen eine gui spendieren
sieht auch schon ganz gut aus.. aber es fehlen noch einige sachen.. und da komme ich einfach nicht weiter..
also hier erstmal mein tkinter code:
Code: Alles auswählen
from Tkinter import *
from tkFileDialog import *
def get_dir():
path.insert(0,askdirectory())
def get_file():
datei.insert(0,askopenfilename())
def can():
old1 = path["state"]
old2 = datei["state"]
path["state"] = "normal"
datei["state"] = "normal"
path.delete(0,END)
datei.delete(0,END)
path["state"] = old1
datei["state"] = old2
def sing():
path["state"] = "disabled"
direct["state"] = "disabled"
datei["state"] = "normal"
dat["state"] = "normal"
set_out('Please select a file for conversion.', 'y')
def mult():
path["state"] = "normal"
direct["state"] = "normal"
datei["state"] = "disabled"
dat["state"] = "disabled"
set_out('Please select a directory to make the rogram search for files.\nNote: ALL xml files will be converted!', 'y')
def set_out(text, opt):
text = text + '\n--------------------------------------------------------------------------------------------------------------------------\\n'
ausgabe["state"] = "normal"
if (opt == 'y'):
ausgabe.delete(1.0,END)
ausgabe.insert(END, str(text))
ausgabe["state"] = "disabled"
root=Tk()
frame=Frame(root)
frame.pack(expand=YES)
root.title('XML converter vol 1.0')
selectrahmen = Frame(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")
v = IntVar()
Radiobutton(select2, text="single", variable=v, value=1, command=lambda: sing()).pack(side="left")
Radiobutton(select2, text="multiple", variable=v, value=2, command=lambda: mult()).pack(side="left")
v.set('1')
eingaberahmen = Frame(root, relief="groove", borderwidth="2")
eingaberahmen.pack(fill="x")
suchDatei = Label(eingaberahmen, text = 'File: ')
suchDatei.grid(row=1,column=1)
datei = Entry(eingaberahmen, width=45)
datei.grid(row=1,column=2)
dat = Button(eingaberahmen, text = 'search', command=lambda: get_file())
dat.grid(row=1,column=3)
suchPfad = Label(eingaberahmen, text = 'Directory: ')
suchPfad.grid(row=2,column=1)
path = Entry(eingaberahmen, width=45, state='disabled')
path.grid(row=2,column=2)
direct = Button(eingaberahmen, text = 'search',state='disabled', command=lambda: get_dir())
direct.grid(row=2,column=3)
eingaberahmen2 = Frame(root)
eingaberahmen2.pack()
cancel = Button(eingaberahmen2, text = 'Cancel', command=lambda: can())
cancel.pack(side='left')
ok = Button(eingaberahmen2, text = 'OK')
ok.pack(side='left')
ausgaberahmen = Frame(root, relief="groove", borderwidth="2")
ausgaberahmen.pack(fill="x")
ausgabeLab = Label(ausgaberahmen, text = 'Messagescreen').pack(side = "top", anchor="w")
ausgabe = Text(ausgaberahmen, width=61, height=5, state='disabled', bg='white')
ausgabe.pack()
set_out('Please select a file for conversion.', 'y')
root.mainloop()
also .. was mir noch fehlt:
- es sollte standardmässig "single" angewählt sein
- wird "multiple" angewählt soll das "file" entry grau hinterlegt und gesperrt werden
- wird das ganze dann per ok gestartet sollen dann die print meldungen in einem entry oder so unterhalb des ok buttons ausgegeben werden.. wenn das geht..
könnt ihr mir da helfen?
wäre super
gruß
slide
EDIT mawe: hab mal die Einrückung im Code gerichtet
EDIT mawe: und gleich nochmal, weil ich beim ersten mal zu blöd dazu war