Obtener MenuItem en wxPython

Cristina Yenyxe González García the.blue.valkyrie en gmail.com
Mie Jul 9 02:16:50 CEST 2008


Hola a todos:

Estoy haciendo una interfaz con wxPython a la que he añadido una barra
de menú, mediante la cual se puede cargar y guardar un fichero. Mi
problema es que, en principio, la opción de guardar la muestro
deshabilitada porque no hay ningún fichero cargado, y cuando se carga
uno se habilitaría dicha opción. Sin embargo, no he conseguido obtener
el MenuItem que la representa, como mucho he llegado a obtener su ID
mediante XRCID, y así cualquiera modifica su estado :P Mirando en el
wiki de wxPython dicen que no se puede utilizar XRCCTRL porque
devuelve None, pero sin embargo no plantean una solución más allá de
la aplicable al método Bind...

Con el siguiente fragmento de código lo que obtengo es una excepción
en la última sentencia, diciéndome que a XRCCTRL tengo que pasarle un
string.
    def open(self, event):
        """ Open a file"""
        self.dirname = os.getenv('USERPROFILE') or os.getenv('HOME')
        open_dialog = wx.FileDialog(self.frame, 'Choose a file to debug',
                                    self.dirname, "", "*.py", wx.OPEN)
        if open_dialog.ShowModal() == wx.ID_OK:
            self.filename = open_dialog.GetFilename()
            self.dirname = open_dialog.GetDirectory()
            f = open(os.path.join(self.dirname, self.filename), 'r')
            print f.read() # DUMMY
            f.close()
        open_dialog.Destroy()
        save_id = xrc.XRCID('saveMenuItem')
        print "ID:", save_id  # resultado = 102
        save_menu_item = xrc.XRCCTRL(self.frame, save_id)

¿Alguien más experimentado podría aconsejarme? ¿O es que quizá estoy
enfocándolo de otra forma a como se haría con wx?

Un saludo y gracias por adelantado :)
_______________________________________________
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