Evitar abrir formulario duplicado

damufo damufo en gmail.com
Vie Nov 6 14:12:40 CET 2009


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()
------------ próxima parte ------------
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes


Más información sobre la lista de distribución Python-es