OT Formulario Diseñado con wxFormBuilder

1,021 views
Skip to first unread message

GeoSys Diseño de Software

unread,
Sep 4, 2012, 9:50:37 PM9/4/12
to publice...@googlegroups.com
Para los Colegas de VFP y que les interese seguir con la idea de programar en Python, ya estoy aprendiendo a diseñar formularios con la herramienta wxFormBuilder, al principio cuesta un poco, pero es nada más de tomar la lógica.

Les adjunto una imagen, como pueden ver, es simple, pero es para que vean como avanzamos en el aprendizaje.

Luego cuando tenga código que pueda responder a esos eventos desde un archivo externo de Python .py, ya que es sabido que el diseñador de formularios es aparte de la programación, pues de otro archivo externo tenemos que hacer clases y funciones para que los widget (objetos) puedan responder con la interacción del usuario.

Ánimo, los invito a que participemos en el grupo de VFP - Python, (ya que lo veo con poca participación) y para que intercambiemos conocimientos, eso sin dejar a nuestro querido ZORRO, como lo extraño.


Saludos

Anthony Contreras Peralta

Costa Rica.






PantallawxFormBuilder.JPG

Fox Learner

unread,
Sep 5, 2012, 9:37:58 AM9/5/12
to publice...@googlegroups.com
Felicidades Anthony, te quedó nice jeje. Ai la llevas..

Miguel Canchas

unread,
Sep 5, 2012, 10:03:32 AM9/5/12
to publice...@googlegroups.com

El grafico que muestras lo haz echo con el diseñador ?

 

Si es asi, se ve interesante….

 

 

Para seguir con esto, y hacer los pininos, que necesitamos, que software hay que bajar…??

 

MK

--
 
 
 

GeoSys Diseño de Software

unread,
Sep 5, 2012, 2:31:05 PM9/5/12
to publice...@googlegroups.com
Si, es correcto Miguel Canchas, es totalmente hecho desde cero con el diseñador wxFormBuilder, ese calendario que ves allí es nativo, tiene de todos los controles como grid, check etc., lo único diferente es que no es como VFP que los witgets (objetos) no los puedes hacer solo con arrastrar y pegar, si no con sizer, pero es nada más de agarrarle el funcionamiento, la verdad se puede hacer de todo.

Con el diseñador Boa esto si se logra, solo con arrastrar y soltar el mouse, lo que pasa es que Boa no tiene cambios desde el 2007 creo y está un poco quedado, en cambio wxFB la última versión está en beta.

Cuando tenga algo más construido les voy a pasar los archivos para que tengan una idea más clara.


Saludos

Anthony Contreras Peralta

Costa Rica

--
 
 
 

GeoSys Diseño de Software

unread,
Sep 5, 2012, 3:02:08 PM9/5/12
to publice...@googlegroups.com
Bueno Miguel, los archivos necesarios que yo bajé para esto son:

1- python-2.7.3, lo encuentra en la página oficial de Python.

2- La librería wxPython, wxPython2.8-win32-unicode-2.8.12.1-py27

3- wxFormBuilder_v3.2.3-beta. Este es el diseñador de formularios, este genera código C++, Python y XRC .

INSTALACIÓN PASO A PASO:

1- Primero se ejecuta el instalador: python-2.7.3
Este es el lenguaje de programación Pyton versión 2.7.3

2- Luego se ejecuta el instalador: wxPython2.8-win32-unicode-2.8.12.1-py27
wxPython es la herramienta para hacer pantallas.
Este se instala por defecto en C:\Python27\Lib\site-packages

3- Luego hay que ejecutar el instalador wxFormBuilder_v3.2.3-beta
Este es un IDE para trabajar gráficamente como que estuviéramos con VFP.
Este programa se instal por defecto en C:\Archivos de programa\wxFormBuilder

Puedes ver este tutorial muy bueno, allí se explica paso a paso para construir formularios utilizando wxFormBuilder:


Saludos

Anthony Contreras Peralta

Costa Rica


GeoSys Diseño de Software

unread,
Sep 5, 2012, 3:08:23 PM9/5/12
to publice...@googlegroups.com

Miguel Canchas

unread,
Sep 5, 2012, 3:24:00 PM9/5/12
to publice...@googlegroups.com

Esta viendo que con wxpython es solo “también”  poner los controles…..

--
 
 
 

GeoSys Diseño de Software

unread,
Sep 5, 2012, 4:07:04 PM9/5/12
to publice...@googlegroups.com
Sí allí pones los widgets (controles) y le das nombres y todas las propiedades, en los eventos, solamente escribes el nombre de como se llamará tu evento.

Ahora para llamar a esos eventos deberás crear otro archivo externo py (los archivos de Python se guardan con extensión "NombreArchivo.py" desde allí importas la librería wx y llamas haces a tu clase invocando el formulario.

Esta es parte del código de mi archivo externo de Python que invoca a los controles de wxFormBuilder:

# Importamos módulos necesarios.
import wx

# Importamos directamente la clase MiFormulario.
from formulario import MiFormulario

# Creamos una clase que herede de formulario.
class miformu(MiFormulario):
    
    # ###############################################
    # Hacemos override de los manejadores de eventos.
    # ###############################################

    def Factura1Enter(self,event) :
        self.Return()
        
    def AceptarClick(self, event):
        # Mensaje.
        #wx.MessageBox("Has hecho click en botón ACEPTAR","",wx.OK)
        wx.MessageBox("Has hecho click en botón ACEPTAR","Aviso Importante",wx.YES_NO)
        
    def CerrarClick(self, event):
        # Salimos de la aplicación.
        wx.MessageBox("Has hecho click en botón Cerrar","Saliendo...",
        wx.OK)
        # Destruimos el widget.
        self.Destroy()

# Creamos una aplicación wxPython.
app = wx.PySimpleApp()
frame = miformu(None)
frame.Show()
app.MainLoop()



--
 
 
 

ZeRoberto

unread,
Sep 5, 2012, 4:57:55 PM9/5/12
to publice...@googlegroups.com
Hay que bajar un MySQL para Python?
 
Saludos

--
 
 
 

GeoSys Diseño de Software

unread,
Sep 5, 2012, 5:15:32 PM9/5/12
to publice...@googlegroups.com
Yo todavía no entro con las bases de datos, pero puedes conectarte a casi cualquier base de datos SQL, en estos momentos estoy aprendiendo el diseño de formularios y como hacer las clases para escribir los eventos de los objetos.

Para crear archivos de texto plano (txt, o csv)  es tan fácil como esto:

def creaciontxt() : # Creo la función creaciontxt().
    archi=open('datos.txt','w') 
    archi.close()
creaciontxt()

# Si quiero agregar líneas escritas a ese archivo:

# -*- coding: cp1252 -*-
# Esto es usando la consola el IDLE de Python, no en un formulario.

primera = str.upper(raw_input("Digite la primera línea: "))
segunda = str.upper(raw_input("Digite la segunda línea: "))
tercera = str.upper(raw_input("Digite la tercera línea: "))

print (primera) # Imprimo en consola.
print (segunda)
print (tercera)

# agrego al final del archivo. es como un INSERT o APPEND en VFP.
def grabartxt(): # Esta es la función grabartxt.
    archi=open('datos.txt','a') # Abro el archivo.
    archi.write(primera+"\n") # Agrego una línea e inserto un salto de línea "\n".
    archi.write(segunda+"\n") # Agrego la segunda línea.
    archi.write(tercera+"\n") # Agrego la tercer línea.
    archi.close() # Cierro el archivo.
grabartxt()




--
 
 
 

GeoSys Diseño de Software

unread,
Sep 5, 2012, 5:32:09 PM9/5/12
to publice...@googlegroups.com
En la carpeta C:\Python27\Lib\sqlite3, al instalar Python se instala la base de datos  Sqlite, pero yo todavía no he hecho pruebas, esto es nada más de dedicarle un poquito de tiempo.

Yo apenas recién comencé la semana pasada y creo que he aprendido mucho más bien, como nosotros sabemos VFP, la verdad la curva de aprendizaje no es tan traumática hasta el momento.

ZeRoberto

unread,
Sep 5, 2012, 10:07:05 PM9/5/12
to publice...@googlegroups.com
Python se ve interesante sabes donde puedo bajara el manual en chm?
 
Saludos

--
 
 
 

Juan Salvador

unread,
Sep 5, 2012, 10:14:12 PM9/5/12
to publice...@googlegroups.com
Gracias a la Internet se pueden aprender varios lenguajes de programación, solo es cuestión de encontrar un buen videotutotrial o foro donde traten con ese lenguaje.

Con estos videotutoriales podrás aprender mas rápido: Curso de Python

Saludos.

Carlos Miguel FARIAS

unread,
Sep 6, 2012, 8:52:13 AM9/6/12
to publice...@googlegroups.com
Seria interesante que todo esto se pasara la foro de vfp-a-python, el cual fue creado justamente para esto, asi loa gente que no le interese, NO SE MOLESTE.
Saludos: Miguel, Santa Rosa (LP)

--
 
 
 

GeoSys Diseño de Software

unread,
Sep 6, 2012, 10:06:32 AM9/6/12
to publice...@googlegroups.com
Carlos Miguel, discúlpame, pero creo que el OT y el Título lo dice muy bien claro, porqué te molesta tanto???


Saludos

Anthony Contreras Peralta

Costa Rica.

--
 
 
 

Fox Learner

unread,
Sep 6, 2012, 10:54:46 AM9/6/12
to publice...@googlegroups.com
Creo que a todos alguna vez hemos pasado por periodos de stress así que ...

Inhalen profundo y cuenten hasta 10 en forma descendente mientras exhalan ufffffffff

Jeje

Saludos sin Stress!

Carlos Miguel FARIAS

unread,
Sep 6, 2012, 12:06:54 PM9/6/12
to publice...@googlegroups.com
Yo no me moleste, solo dije que lo pasaran a ese foro (vfp-a-python), para que el mismo tuviera movimiento, ya que el otro dia, alguien dijo que no tenia movimiento (lo que no dista ser cierto).
Saludos: Miguel, La Pampa (RA)

--
 
 
 

GeoSys Diseño de Software

unread,
Sep 6, 2012, 12:43:42 PM9/6/12
to publice...@googlegroups.com
Está bien, Carlos Miguel, vamos al foro para este fin, ya que necesitamos saber que tanto hemos avanzado, la idea es compartir conocimientos, avanzamos más rápido entre todos, claro sin abusarse a esperar que todo se lo den hecho, quiero saber cuantos están comprometidos a aprender este nuevo lenguaje, ahora mismo haré esa pregunta en el foro, así es que los que nos inscribimos en el foro de VFP-Python puedan responder.

Ya he enviado un tema nuevo al foro.


Saludos

Anthony Contreras Peralta

Costa Rica.

--
 
 
 

Reply all
Reply to author
Forward
0 new messages