[pyar] WxPython - Dudas de principiante.
matiasgsanchez en gmail.com
matiasgsanchez en gmail.com
Mar Mar 22 01:33:26 ART 2011
Faltarìa unicamente el archivo el archivo .xrc que no era la gran
cosa, tiene definidos 2 botones y una textbox.
Los còdigos de arriba estan completos e importan el filePrueba.xrc.
Ahi va entonces:
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<resource xmlns="http://www.wxwindows.org/wxxrc" version="2.3.0.1">
<object class="wxFrame" name="MyFrame1">
<style>wxDEFAULT_FRAME_STYLE|wxTAB_TRAVERSAL</style>
<size>291,69</size>
<title></title>
<object class="wxBoxSizer">
<orient>wxHORIZONTAL</orient>
<object class="sizeritem">
<option>0</option>
<flag>wxALL</flag>
<border>5</border>
<object class="wxButton" name="btnBoton1">
<label>Boton1</label>
<default>0</default>
</object>
</object>
<object class="sizeritem">
<option>0</option>
<flag>wxALL</flag>
<border>5</border>
<object class="wxTextCtrl" name="txtTextBox">
<value></value>
<maxlength>0</maxlength>
</object>
</object>
<object class="sizeritem">
<option>0</option>
<flag>wxALL</flag>
<border>5</border>
<object class="wxButton" name="m_button5">
<label>MyButton</label>
<default>0</default>
</object>
</object>
</object>
</object>
</resource>
Espero sea ùtil para representar lo que estaba pasando.
Voy a pegarle una leida al enlace.
Gracias!,
Salu2,
Matias.
2011/3/21 PythonJourney <pythonjourney en gmail.com>:
> Hola...
>
> te recomiendo que para poder recibir ayuda con cosas de wxpython, coloques
> un pequeño codigo que pueda ser ejecutado, como lo piden en la lista de
> wxpython.. sin una muestra ejecutable del codigo a veces es dificil ayudar o
> ver el problema en realidad..
>
>
> lo unico que podria decir para ayudarte es que en este enlace[0] hay una
> buena discusion sobre los EVT_SET_FOCUS
>
> [0] http://www.blog.pythonlibrary.org/2009/08/27/wxpython-learning-to-focus/
> El 21/03/2011 03:41 p.m., matiasgsanchez en gmail.com escribió:
>>
>> Buenas a todos, tuve un poco de tiempo y decidì comenzar a migrar un
>> proyecto que tengo hecho en .NET C# a python. Sin sentido alguno,
>> solamente para aprender. Hice algunas cosas en consola, pero ahora
>> cuando me topè con Wxpython, algunas cosas resultaron un poco
>> extrañas.
>> Estoy usando Eclipse + Pydev y wxFormBuilder.
>>
>> Tiro algunas preguntas puntuales, y lògicamente cualquier crìtica
>> constructiva sobre como desarrollar y buenas pràcticas serà
>> bienvenida.
>>
>> Primero:
>>
>> Porque el EventHandler txtChange, en el siguiente caso se dispara y en
>> el segundo caso no? (No tengamos en cuenta que el MessageBox no para
>> de mostrarse nunca xD, es un bug premeditado
>> ---------------------CASO1----------------------------
>>
>> import wx
>> from wx import xrc
>> import sys
>>
>> class MainFrame(object):
>>
>> def __init__(self, xml):
>> self.xml = xml
>> self.frame = xml.LoadFrame(None,'MyFrame1')
>> self.frame.Bind(wx.EVT_BUTTON, self.btnClick,
>> id=xrc.XRCID('btnBoton1'))
>>
>> self.txtTextBox = xrc.XRCCTRL(self.frame, 'txtTextBox')
>> self.txtTextBox.Bind(wx.EVT_SET_FOCUS, self.txtChange)
>>
>> self.txtTextBox.SetValue('Valor de prueba')
>> self.frame.Show()
>>
>> def btnClick(self, evt):
>> ret = wx.MessageBox('Salir?', 'Question', wx.YES_NO |
>> wx.NO_DEFAULT)
>> if ret == wx.YES:
>> self.frame.Destroy();
>> sys.exit(0)
>>
>> def txtChange(self, evt):
>> wx.MessageBox('Ventana prueba','Ventana')
>>
>> class proyPrueba(wx.App):
>>
>> def OnInit(self):
>> xml = xrc.XmlResource('filePrueba.xrc')
>> self.MainFrame = MainFrame(xml)
>> return True
>>
>>
>> if __name__ == '__main__':
>> app = proyPrueba(0)
>> app.MainLoop()
>>
>>
>>
>> ------------------------------------CASO2----------------------------------------
>> Para simplificar, lo unico que modifiquè fue la asignaciòn de la
>> variable txtTextBox. Osea, directamente creo el eventhandler en una
>> linea.
>> (http://wiki.wxpython.org/index.cgi/XRCTutorial)
>>
>> No funciona el wx.EVT_SET_FOCUS pero si el wx.EVT_BUTTON. Algùn error
>> conceptual que no estè teniendo en cuenta?
>>
>> import wx
>> from wx import xrc
>> import sys
>>
>> class MainFrame(object):
>>
>> def __init__(self, xml):
>> self.xml = xml
>> self.frame = xml.LoadFrame(None,'MyFrame1')
>> self.frame.Bind(wx.EVT_BUTTON, self.btnClick,
>> id=xrc.XRCID('btnBoton1'))
>> self.frame.Bind(wx.EVT_SET_FOCUS, self.txtChange,
>> id=xrc.XRCID('txtTextBox'))
>>
>> self.frame.Show()
>>
>> def btnClick(self, evt):
>> ret = wx.MessageBox('Salir?', 'Question', wx.YES_NO |
>> wx.NO_DEFAULT)
>> if ret == wx.YES:
>> self.frame.Destroy();
>> sys.exit(0)
>>
>> def txtChange(self, evt):
>> wx.MessageBox('Ventana prueba','Ventana')
>>
>> class proyPrueba(wx.App):
>>
>> def OnInit(self):
>> xml = xrc.XmlResource('filePrueba.xrc')
>> self.MainFrame = MainFrame(xml)
>> return True
>>
>>
>> if __name__ == '__main__':
>> app = proyPrueba(0)
>> app.MainLoop()
>>
>>
>> Segundo:
>>
>> Hay alguna manera de lograr que el autocompletado funcione tambien
>> para las variables que van a asumir el tipo en tiempo de ejecuciòn?.
>> No se si me explico correctamente. Mejor ejemplifico.
>> La variable txtTextBox que uso en el primer ejemplo, para guardar la
>> referencia al objeto textBox, cuando tipeo "txtTextBox.(punto)" no
>> tira ninguna propiedad del objeto. Ahora bien, para ver las
>> propiedades disponibles del textbox estoy haciendo "wx.TextCtrl....".
>> En ese caso si me muestra las props y me tengo que fijar la que estoy
>> buscando, copiar pegar. Es medio molesto, seguramente hay alguna otra
>> alternativa. Alguien que no quiera verme maldecir en todos los
>> idiomas, me darìa algun consejo?
>>
>>
>> Dudas ya està. Ahora queda el espacio para aquellos que quieran
>> recomendarme algo:
>> Tips:
>> 1) Maneras de definiciòn de handlers simples.
>> 2) Yo estoy generando el archivo xrc y levantandolo como recurso. Es
>> correcto? Hay alguna manera mas facil?
>>
>> 3) etc, etc, etc...
>>
>> Desde ya gracias. Deberìa haber preguntado todas estas cosas en la
>> Pyar de BsAs que habia muy buena onda, pero sinceramente todavia
>> estaba sorprendido por la sintaxis nada mas, que no es poco xD.
>>
>> Salu2 a todos!,
>>
>> Matias.
>> _______________________________________________
>> pyar mailing list pyar en python.org.ar
>> http://listas.python.org.ar/listinfo/pyar
>>
>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>
>
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
More information about the pyar
mailing list