ich bin Lehrling was python betrifft und probiere mich zur Zeit ein wenig herum.
Habe mal eine App mit python3.1 und tkinter versucht, was soweit auch alles klappt nur ein Prob hätte ich noch:
App1 hat ein Menu über das ich die App2 aufrufe. App2 ist kompett als modul ausgelagert. Ich importiere App2 und rufe das in einer Funktion auf.
So nun zum eigentlichen Prob:
Wenn App2 gestartet ist liegt das Fenster über App1, soweit alles perfekt. Wenn jetzt in App2 irgendwo ein Fehler auftritt, fange ich den ab und reagiere darauf mittels einer Messagebox. Genau dann rutscht mir App2 hinter App1 und genau das ist mein Problem.
Kann mir dazu jemand einen Tipp geben wie ich das verhindern kann?
Danke!
EDIT:
Habe mein Problem mal anhand von einem Beispiel nachfolzogen:
p001.py:
Code: Alles auswählen
# -*- coding: utf-8 -*-
import sys, os, tkinter, tkinter.messagebox, p002
class p001:
def __init__(self):
self.fenster()
def neuesfenster(self):
p002.p002()
def fenster(self):
self.f = tkinter.Tk()
self.f["height"] = 200
self.f["width"] = 200
self.f["border"] = 5
self.f.title("p001")
self.buttondatum = tkinter.Label(self.f, text="Ein Button: ")
self.buttondatum.place(x=50, y=30, anchor="nw")
self.button = tkinter.Button(self.f, text="Button", command=self.neuesfenster)
self.button.place(x=50, y=50, anchor="nw")
self.f.mainloop()
app = p001()
Code: Alles auswählen
# -*- coding: utf-8 -*-
import sys, os, tkinter, tkinter.messagebox
class p002():
def __init__(self):
self.fensterneu()
def ende(self):
self.fneu.destroy()
def message(self):
tkinter.messagebox.showinfo("Info", "Bla Bla Bla")
def fensterneu(self):
self.fneu = tkinter.Tk()
self.fneu["height"] = 200
self.fneu["width"] = 200
self.fneu["border"] = 5
self.fneu.title("p002")
self.buttondatum = tkinter.Label(self.fneu, text="Ein Button: ")
self.buttondatum.place(x=50, y=30, anchor="nw")
self.button = tkinter.Button(self.fneu, text="Button", command=self.ende)
self.button.place(x=50, y=50, anchor="nw")
self.message()
self.fneu.mainloop()