Evitar abrir formulario duplicado

damufo <[email protected]> Fri, 06 Nov 2009 14:12:40 +0100
Newsgroups gmane.comp.python.general.castellano
Message-ID <[email protected]>
Hola:
wx(2.8.10.1), python26

Estoy tratando de que una vez que abro un formulario, si trato de abrir 
otra instancia no me lo permita y me preguntaba si hai alguna forma 
sencilla de hacer esto.

Pongo un simple código donde se puede comprobar que al pulsar sobre el 
botón abre tantas veces como pulse un segundo formulario, lo que quiero 
es que SI está abierto, no abra un segundo. Hasta aquí facil pero el 
caso es que quiero que si desde otro formulario diferente al principal 
trato de llamar al formulario 2 sepa si está abierto.
Alguna idea de como hacerlo? Hai alguna variable general donde pueda 
consultar esto?
creando alguna variable en el sistema? (como?)

Muchas gracias

Código
----------

import wx
class MyFrame(wx.Frame):
    def __init__(self, parent, title):
        wx.Frame.__init__(self, parent, -1, title )
        btn = wx.Button(self, -1, "Hola")
        self.Bind(wx.EVT_BUTTON, self.say_hello, btn)

    def say_hello(self,*arg):
        frame2 = MyFrame2(None, "Form 2")
        frame2.Show(True)
        return True

class MyFrame2(wx.Frame):
    def __init__(self, parent, title):
        wx.Frame.__init__(self, parent, -1, title )
        self.txt_season = wx.TextCtrl( self,
                wx.ID_ANY, wx.EmptyString,
                wx.DefaultPosition,
                wx.DefaultSize, 0 )


class MyApp(wx.App):
    def OnInit(self):
        frame = MyFrame(None, "Simple wxPython App")
        frame.Show(True)
        return True
       
MyApp().MainLoop()

_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes