Título: [Código-PyQT4]Detectar campos de un formulario web - JaAViEr|0x5d Publicado por: 0x5d en 8 Abril 2012, 04:21 am Hola, buen día !
Sigo con mis prácticas en Python + QT4. Posterior a esto seguiré con el tutorial que estuve escribiendo para RootCodes... En esta oportunidad he traspasado este código en consola ~> [Python]Detectar formulario y campos de un sitio web (http://rootcodes.com/pythondetectar-formulario-y-campos-de-un-sitio-web/) a PyQT. Así aprovechando de utilizar QTreeWidget(); Para aprender a usarlo y a la vez que ustedes vean como se usa. Un ScreenShot de la App : (http://rootcodes.com/imagenes/Pantallazo-Detectar%20campos%20de%20un%20formulario%20|%200x5d.png) Y el Código : Código
Fuente: http://rootcodes.com/pyqt4detectar-campos-de-un-formulario-web/ Saludos, Javier. Título: Re: [Código-PyQT4]Detectar campos de un formulario web - JaAViEr|0x5d Publicado por: Runex en 8 Abril 2012, 16:23 pm Bueno es :D.
He estado mirando tus tutoriales y te agradecería que los explicases sin clases de por medio si es posible, implementar clases en tutoriales es bastante lioso :D. De todas formas Qt4 parece bastante potente en cuanto a interfaces no? :) Título: Re: [Código-PyQT4]Detectar campos de un formulario web - JaAViEr|0x5d Publicado por: 0x5d en 8 Abril 2012, 20:17 pm Bueno es :D. Hola, buen día !He estado mirando tus tutoriales y te agradecería que los explicases sin clases de por medio si es posible, implementar clases en tutoriales es bastante lioso :D. De todas formas Qt4 parece bastante potente en cuanto a interfaces no? :) Pues la verdad para QT4 es necesario usar clases, pero bueno, enseguida te explico el código a mi forma :P: Código No creo que sea necesario explicar eso :P Código Le damos un titulo a nuestra ventana(self(el mismo form)) Código Le damos las dimensiones self.resize(ancho,altura) Código Creamos el Objeto QTreeWidget(); al poner 'self' dentro indico que se insertará en el mismo formulario y no en otro. Código Le doy las propiedades de ubicación y ancho-alto. setGeometry(x,y,ancho,alto) Código Creo un Label para insertar un mensaje en el formulario, seguido le doy propiedades de ubicación y dimensiones Código Creo el QLineEdit(); para poder escribir. Código Le doy dimensiones y ubicación al QLineEdit(); Código Creo un Botón Código Le doy propiedades de ubicación y dimensión al botón Código Le digo al programa que al dar clic(QtCore.SIGNAL("clicked()")) en self.boton , nos dirija a la función def extractor() Código Con esto señalo la cabecera del QTreeWidget(); que luego los elementos aparecerán abajo. En este caso "Campos" (como ves en la imagen anterior) Código La función extractor que llamé desde self.connect() Código Con str(self.input_url.text()) Obtengo el texto insertado en el QLineEdit() y lo abrimos con urllib.urlopen Código Con eso obtengo los campos input del sitio web insertado, es cosa de saber Python, nada que ver con QT4 Código Ahí es un poco más complicado el caso, puesto que para cada elemento a insertar en nuestro QTreeWidget(); Necesitamos una variable que contenga a este elemento. Uso for x,y enumerate(datos_r): para contabilizar cuantos campos encontró el programa y su valor. Que mediante el primer exec() creo una variable para cada elemento, quedando : primer_0 = ... primer_1 = ... Pero dependiendo de cuanto elemento sea encontrado. Posteriormente Código self.arbol.topLevelItem(%s) será: self.arbol.topLevelItem(0) self.arbol.topLevelItem(1) self.arbol.topLevelItem(2) etc Dependiendo de cuanto elemento se encuentra. Luego con .setText(); insertamos el valor en la posición indicada por el x que contámos con enumerate(); Código
Intenté ser lo más claro posible y explicar línea por línea jaja Saludos ! Título: Re: [Código-PyQT4]Detectar campos de un formulario web - JaAViEr|0x5d Publicado por: Runex en 8 Abril 2012, 21:24 pm Hola, buen día ! Pues la verdad para QT4 es necesario usar clases, pero bueno, enseguida te explico el código a mi forma :P: Código No creo que sea necesario explicar eso :P Código Le damos un titulo a nuestra ventana(self(el mismo form)) Código Le damos las dimensiones self.resize(ancho,altura) Código Creamos el Objeto QTreeWidget(); al poner 'self' dentro indico que se insertará en el mismo formulario y no en otro. Código Le doy las propiedades de ubicación y ancho-alto. setGeometry(x,y,ancho,alto) Código Creo un Label para insertar un mensaje en el formulario, seguido le doy propiedades de ubicación y dimensiones Código Creo el QLineEdit(); para poder escribir. Código Le doy dimensiones y ubicación al QLineEdit(); Código Creo un Botón Código Le doy propiedades de ubicación y dimensión al botón Código Le digo al programa que al dar clic(QtCore.SIGNAL("clicked()")) en self.boton , nos dirija a la función def extractor() Código Con esto señalo la cabecera del QTreeWidget(); que luego los elementos aparecerán abajo. En este caso "Campos" (como ves en la imagen anterior) Código La función extractor que llamé desde self.connect() Código Con str(self.input_url.text()) Obtengo el texto insertado en el QLineEdit() y lo abrimos con urllib.urlopen Código Con eso obtengo los campos input del sitio web insertado, es cosa de saber Python, nada que ver con QT4 Código Ahí es un poco más complicado el caso, puesto que para cada elemento a insertar en nuestro QTreeWidget(); Necesitamos una variable que contenga a este elemento. Uso for x,y enumerate(datos_r): para contabilizar cuantos campos encontró el programa y su valor. Que mediante el primer exec() creo una variable para cada elemento, quedando : primer_0 = ... primer_1 = ... Pero dependiendo de cuanto elemento sea encontrado. Posteriormente Código self.arbol.topLevelItem(%s) será: self.arbol.topLevelItem(0) self.arbol.topLevelItem(1) self.arbol.topLevelItem(2) etc Dependiendo de cuanto elemento se encuentra. Luego con .setText(); insertamos el valor en la posición indicada por el x que contámos con enumerate(); Código
Intenté ser lo más claro posible y explicar línea por línea jaja Saludos ! 0x5d, una verdadera máquina voy a cambiar de Tkinter a éste para probar cosas nuevas :). Un saludo y buena explicacion compañero ;-) Título: Re: [Código-PyQT4]Detectar campos de un formulario web - JaAViEr|0x5d Publicado por: 0x5d en 9 Abril 2012, 02:54 am Un gusto poder 'enseñar' ! :D
Título: Re: [Código-PyQT4]Detectar campos de un formulario web - JaAViEr|0x5d Publicado por: Runex en 9 Abril 2012, 19:39 pm Mira lo que he encontrado :)
http://www.slideshare.net/jpadillaa/primeros-pasos-en-pyqt4 Creo que está bastante bien para empezar no? ;-) |