Seite 1 von 1
Wechsel zwischen zwei Oberflächen
Verfasst: Dienstag 19. August 2008, 11:14
von sephos
Hallo,
ich habe zwei grafische Oberflächen gebastelt. Nun ist es so das die Hauptoberfläche eine andere grafische Oberfläche aufruft. Wenn die zweite aufgerufen wird ist diese aber hinter der ersten "versteckt". Gibt es eine Möglichkeit die zweite vor die Hauptoberfläche zu bringen und wenn ja wie :K ?? Für Hilfe bin ich echt dankbar
. Zur Erstellung habe ich den Boa Constructor genutzt.
MFG Sephos
Verfasst: Dienstag 19. August 2008, 12:10
von CM
Hallo und willkommen im Forum,
zur Beantwortung dieser Frage bietest Du leider viel zu wenig Information. Erst daraus, dass Du den BoaConstructor verwendet hast, kann man erkennen, dass es sich beim GUI-Toolkit um wxPython handelt. Dafür haben wir übrigens ein ExtraUnterforum.
Wie geschieht denn der Aufruf der zweiten Oberfläche? Was ist das für eine Oberfläche? Am besten ist es, wenn Du dazu den relevanten Code in einem lauffähigen Minimalbeispiel zeigst. Wenn dazu rel. viel Code gebraucht wird, kannst Du den Code
hier posten und dann im Forum verlinken, denn das Forum wird sehr langsam, wenn in einem Thread viel Code steckt.
Gruß,
Christian
Verfasst: Dienstag 19. August 2008, 15:53
von sephos
Hallo
also ich habe den Fahler bereits gefunden, vielleicht interessiert die Lösung dennoch jemanden
Dies ist der Code für die GUI für mein Hauptprogramm:
Code: Alles auswählen
wx.Frame.__init__(self, id=wxID_FIRMA, name='Firma',
parent=prnt, size=wx.Size(758, 768),
style=wx.FRAME_TOOL_WINDOW | wx.SYSTEM_MENU | wx.DOUBLE_BORDER | wx.DEFAULT_FRAME_STYLE | wx.STAY_ON_TOP,
title='Firma')
self.SetClientSize(wx.Size(750, 741))
self.SetBackgroundColour(wx.Colour(146, 178, 193))
self.Centre()
self.Bind(wx.EVT_CLOSE,self.OnFrameClose,id = wxID_FIRMA)
Meine zweite Oberfläche wird durch einen Button-Klick aufgerufen
Hier der Code für die zweite Oberfläche:
Code: Alles auswählen
wx.Frame.__init__(self, id=wxID_FRAME1, name='', parent=None ,
pos=wx.Point(433, 245), size=wx.Size(408, 355),
style=wx.CAPTION | wx.HSCROLL | wx.ALWAYS_SHOW_SB | wx.DOUBLE_BORDER | wx.NO_3D,
title='Identifikation')
Gefehlt hatte bei mir der Aufruf | wx.STAY_ON_TOP, bei der zweiten Oberfläche, danach funktionierte es
Code: Alles auswählen
class BoaApp(wx.App):
def OnInit(self):
self.main = create(None)
self.main.Show()
self.SetTopWindow(self.main)
return True
def main():
application = BoaApp(0)
application.MainLoop()
if __name__ == '__main__':
main()
Gruss Sephos
Verfasst: Dienstag 19. August 2008, 16:42
von CM
Sag' mal: Bist Du mit User
Xisto und seinem Thread identisch oder habt ihr was miteinander zu tun?
Ist ja auch egal. Aber Dein Code sieht ein wenig seltsam aus, so ohne das klar wird wo wx.Frame.__init__() steht, würde ich jedenfalls nicht weiter wissen. Und wx.STAY_ON_TOP? Kann sein, dass Du das willst, vielleicht aber auch nicht, weil das ein Parameter ist, der doch verhindern sollte, dass Du überhaupt nicht mehr das Hauptfenster nach vorne holen kannst. Das kann natürlich auch gewünscht sein, aber ich hatte die Frage anders interpretiert.
Gruß,
Christian
Verfasst: Dienstag 19. August 2008, 17:14
von sephos
Hallo,
nein mit Xisto hab ich nix zu tun, habe auch gerade mitbekommen das er eine ähnlich Anfrage stellt.
Das zweite Fenster wird bei mir aber automatisch geschlossen, sobald ein bestimmter Button gedrückt wurde, so das nur noch mein Hauptfenster offen ist.
Aber es läuft zum Glück so wie es sollte, vielen Dank für deine Bemühungen