diese gui soll zwei arbeitsschritte(1 und 3) erledigen:
1. dateipfade einlesen und übergeben
2. anhand der daten aus punkt 1 dateien einlesen (ohne gui)
3. teilweise daten ausgeben und per radiobutton/checkbutton eine auswahl treffen und diese dann wieder übergeben
4. anhand der in punkt 3 getroffenen auswahl müssen berechnungen durchgeführt werden (ohne gui)
ich habe mir gedacht das ich einfach zwei guis erzeuge und diese dann der reihe nach ausführen lasse. allerdings funktioniert in meinem testprogramm alles was nach dem löschen der 1. gui kommt nicht mehr. ich habe den eindruck dass das programm mit dem löschen der 1. gui terminiert. dies wäre in zeile 70 der fall
Code: Alles auswählen
# -*- coding: utf-8 -*-
from Tkinter import *
import os
import string
import sys
from tkFileDialog import *
class gui:
#erste GUI die angezeigt wird
def gui_eins(self):
print "start1"
global root
root =Tk()
name=Entry(root)
but_sldwaehlen=Button(root,text="SLD Wählen",command=self.gui_eins_sldsuche)
slddatei=Label(root, text="SLD Datei:")
global v
v = StringVar()
v.set("")
sldanzeige=Label(root, textvariable=v)
but_gui_eins_x3dspeichern=Button(root,text="X3D Speichern",command=self.gui_eins_x3dspeichern)
x3ddatei=Label(root, text="X3D Datei:")
global x
x = StringVar()
x.set("")
x3danzeige=Label(root, textvariable=x)
but_gui_eins_abschluss=Button(root,text="Weiter",command=self.gui_eins_abschluss)
slddatei.pack()
sldanzeige.pack()
but_sldwaehlen.pack()
x3ddatei.pack()
x3danzeige.pack()
but_gui_eins_x3dspeichern.pack()
but_gui_eins_abschluss.pack()
root.mainloop()
#auswahl welche sld datei geöffnet werden soll
def gui_eins_sldsuche(self):
pwd = os.getcwd()
dir = "c:/"
mask = [("SLD","*.sld")]
global sldfilename
sldfilename = askopenfilename(initialdir = dir, filetypes = mask)
name = string.split(sldfilename, '/')
laenge = len(name)
name = string.split(name[laenge-1], '.')[0]
v.set(sldfilename)
#auswahl wohin die x3d datei gespeichert werden soll
def gui_eins_x3dspeichern(self):
pwd = os.getcwd()
dir = "c:/"
mask = [("X3D","*.x3d")]
global x3dfilename
x3dfilename = asksaveasfilename(initialdir = dir, filetypes = mask)
name = string.split(x3dfilename, '/')
laenge = len(name)
name = string.split(name[laenge-1], '.')[0]
x.set(x3dfilename)
#abschluss gui_eins
def gui_eins_abschluss(self):
print "ende1" #dummy
print sldfilename
print x3dfilename
root.destroy()
#hier fehlt die funktion um root.mainloop() abzubrechen und das fester zu schliessen, so das einfach die nächste methode ausgeführt wird
#zweite GUI die angezeigt wird
def gui_zwei(self):
print "start2"
global root
root =Tk()
name=Entry(root)
slddatei=Label(root, text="SLD Datei:")
x3ddatei=Label(root, text="X3D Datei:")
but_gui_zwei_abschluss=Button(root,text="Weiter",command=gui_zwei_abschluss)
slddatei.pack()
x3ddatei.pack()
but_gui_zwei_abschluss.pack()
root.mainloop()
#abschluss gui_zwei
def gui_zwei_abschluss(self):
print "ende2" #dummy
root.destroy()
testgui = gui()
testgui.gui_eins()
testgui.gui_zwei()