Qt en Español
¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.
Qt en Español

Qt en Español es una comunidad de usuarios para aprender a Programar usando las librerias Qt

Buscar
 
 

Resultados por:
 


Rechercher Búsqueda avanzada

Últimos temas
» Desaparecen objetos del formulario al usar showMaximized()
Introducción a PyQt4 | Tu primer programa EmptySáb Sep 13, 2014 9:54 pm por ljimenez29

» visivilidad de controles
Introducción a PyQt4 | Tu primer programa EmptyDom Mayo 18, 2014 5:04 pm por solitarywolf

» Error QT (y no sé que más poner ¬¬)
Introducción a PyQt4 | Tu primer programa EmptyJue Sep 26, 2013 4:02 pm por Anónimo

» QT, VTK en VS 2008 C++
Introducción a PyQt4 | Tu primer programa EmptyJue Abr 11, 2013 5:19 pm por monicadiaz

» [Ayuda]Programa en PyQt4 en modo Pantalla completa
Introducción a PyQt4 | Tu primer programa EmptySáb Mar 30, 2013 8:56 pm por fortil

» SIGNAL y SLOT
Introducción a PyQt4 | Tu primer programa EmptySáb Mar 02, 2013 5:11 pm por loloqt

» Qt creator 5.0.1 en Windows 8...."Qt creator needs a compiler set up to build. Configure a compiler in the kit options"
Introducción a PyQt4 | Tu primer programa EmptyMiér Feb 27, 2013 4:23 pm por caliche

» mi aplicacion no me lee la base de datos
Introducción a PyQt4 | Tu primer programa EmptyJue Oct 18, 2012 1:55 pm por jldiaz

» QT.Para G19 de Logitech
Introducción a PyQt4 | Tu primer programa EmptyDom Oct 14, 2012 3:00 am por novax1

Navegación
 Portal
 Índice
 Miembros
 Perfil
 FAQ
 Buscar
Compañeros
Crear foro
Sondeo

Que nombre te gustaria que se llamara el foro?

Introducción a PyQt4 | Tu primer programa Vote_lcap27%Introducción a PyQt4 | Tu primer programa Vote_rcap 27% [ 6 ]
Introducción a PyQt4 | Tu primer programa Vote_lcap18%Introducción a PyQt4 | Tu primer programa Vote_rcap 18% [ 4 ]
Introducción a PyQt4 | Tu primer programa Vote_lcap0%Introducción a PyQt4 | Tu primer programa Vote_rcap 0% [ 0 ]
Introducción a PyQt4 | Tu primer programa Vote_lcap55%Introducción a PyQt4 | Tu primer programa Vote_rcap 55% [ 12 ]

Votos Totales : 22


No estás conectado. Conéctate o registrate

Introducción a PyQt4 | Tu primer programa

Ir abajo  Mensaje [Página 1 de 1.]

gomezhyuuga

gomezhyuuga

Hola a todos, aquí va mi primer mensaje en el foro de Qt en Español!

Mi nombre es Fernando Gómez y escribiré temas acerca de la programación en PyQt4. Primero comenzaré con un ejemplo de un programa básico escrito en PyQt4.

Sacaré algunas guías e información desde Zetcode.com traduciéndolas al español pero explicando un poco más a fondo todo.

Apenas voy iniciándome así que probablemente encuentren errores en algunas cosas, si es así no duden en correjirme y así mejorar las guías ^_^

Bien, primero explicaré qué es PyQt:

PyQt es conocido un Toolkit para Python que nos servirá para crear programas con interfaz gráfica utilizando las bibliotecas de Qt.
Un ejemplo de otros toolkits son PyGTK(combinación bibliotecas GTK con Python) o wxPython(wxWidgets + Python).

Una ventaja que tiene el programar con PyQt a comparación de Qt es que no necesitaremos compilar el código fuente del programa ya que Python es un lenguaje de programación interpretado; o sea que "entiende" directamente el código sin ser pasado a código máquina por un compilador.

Bueno después del salto comencemos directamente a crear nuestro primer programa!

¿Qué necesitamos?
Sòlo dos cosas:
  • Tener instalado Qt y PyQt4 en tu sistema.
  • Tu editor de texto favorito. Puede ser Gedit, KWrite, Kate, etc..

Y obviamente Python instalado pero ese todas las distribuciones GNU/Linux lo tienen ya por defecto.

¿Qué es lo que haremos?
Crearemos una simple ventana. Debemos empezar por lo básico recuerden.

OK, empecemos. Primero crearemos un archivo de texto en la ruta que ustedes deseen y lo llamaremos: programa01.py y después lo abrimos con Gedit, KWrite, etc..

Este será el código de nuestro programa:

Código:
#!/usr/bin/env python
import sys
from PyQt4 import QtGui

app = QtGui.QApplication(sys.argv)

window = QtGui.QWidget()
window.setWindowTitle("Titulo de ventana")
window.resize(300, 300)
window.show()

sys.exit(app.exec_())

Recomiendo que no copien y peguen sino que lo escriban ustedes mismos ya que así se graban mejor cómo hacerlo.
A continuación explicaré todo línea por línea

Código:
#!/usr/bin/env python

Esto indica el intérprete a usar. En este caso decimos que utilice una utilidad llamada "env", esto sirve para que busque directamente en qué lugar se encuentra "python".
Por ejemplo pudimos haber puesto "#!/usr/bin/python" pero hagamos de cuenta que en esa ruta se encuentra python instalado en nuestro sistema y después vamos a otra máquina con otra distribución que contenga python en esa ruta, entonces nuestro programa no podrá ser interpretado y por lo tanto no funcionará.
Así que es recomendable usar siempre "env" y que busque la ruta de python Smile.

Pasemos a la segunda línea:

Código:
import sys

Esto se llama importar un módulo. En este caso "sys" que es el que contiene las bibliotecas básicas del sistema y python.
Para importar módulos se utiliza la siguiente estructura:

Código:
import modulo

Donde modulo es el nombre del que deseemos importar.

Tercer linea:

Código:
from PyQt4 import QtGui

Esto es igual una importación de un módulo.
En este caso estamos diciendo que desde(from) el módulo PyQt4 se importe(import) su submódulo "QtGui". QtGui contiene los objetos gráficos básicos para una GUI. Por ejemplo, contiene los botones (llamados QPushButtons), Widgets, cuadros de diálogo, labels, entre otros objetos.

Bien, ahora vamos por la línea 6 (la 5 está vacía).

Código:
app = QtGui.QApplication(sys.argv)

Con esto estamos creando un objeto de aplicación llamado app y en cada aplicación en PyQt4 debe crearse uno recuérdenlo. A este objeto de aplicación le pasaremos los parámetros sys.argv siempre le pasaremos estos parámetros así que jamás olviden ponerlos.
Mas o menos a como yo entiendo esto es que un objeto de aplicación es como el corazón de la app y que cuando se destruya o se salga de él la aplicación terminará.
En cuanto a los parámetros no sé muy bien cómo explicarlo ni tengo entendido bien qué son o cómo funcionan, si alguien puede explicármelo.
(Recuerden correjirme en todo lo que esté mal Razz)

Ahora pasemos a la octava línea

Código:
window = QtGui.QWidget()

Aquí estamos creando nuestro primer objeto llamándolo window y estamos diciendo el nuestro objeto es un QWidget obtenido desde la clase QtGui (recordemos que QtGui contiene widgets(QWidgets), botones(QPushButton), entre otras cosas) y por último terminamos la expresión del tipo de objeto con dos paréntesis.
Como vemos la estructura para crear el objeto es: objeto = el_tipo_que_es

Continuemos con la línea 9.

Código:
window.setWindowTitle("Titulo de ventana")

Aquí estamos utilizándo los métodos de objetos, en este caso el método setWindowTitle que nos ofrece Qt y dentro del paréntesis estamos especificando entre comillas el título de la ventana.
Para utilizar los métodos que modificarán nuestros objeto se hace de la siguiete forma: objeto.método(aquí_parámetros_del_método)

Ahora pasemos a la línea 10:

Código:
window.resize(300, 300)

Con esto estamos especificando gracias al método resize que redimensione nuestro objeto window a un tamaño de 300x300. El primer parámetro es el ancho y el segundo el alto.

Continuemos con la penúltima línea de nuestro código:

Código:
window.show()

Aquí usamos el método show(). Por defecto cada objeto que creamos está oculto siempre por lo tanto si lo queremos mostrar tendremos que modificarlo con este método, de lo contrario no podremos visualizarlo.

Y por último la línea final:

Código:
sys.exit(app.exec_())

No estoy muy seguro de cómo explicar esta línea pero a como lo entiendo es que esto permite que nuestro objeto de aplicación app se cierre correctamente.

Y bien ahora solamente para ejecutar nuestra aplicación abrimos una terminal y ejecutamos:

Código:
python programa01.py

Y listo. Obtendrán algo como esto:

Introducción a PyQt4 | Tu primer programa Programa01.th

Bueno eso es todo. En el siguiente ejemplo explicaré otros métodos y una nueva forma algo diferente de crear nuestro widget utilizando una clase además de añadir nuevos métodos.
Espero que me haya explicado bien y cualquier cosa no duden en comentar.

P.D. Cada concepto quiero ponerlo en un tema nuevo llamado Wiki o algo por el estilo para lo encuentren más fácilmente... ya lo haré luego.

http://fedoreando.com

Volver arriba  Mensaje [Página 1 de 1.]

Permisos de este foro:
No puedes responder a temas en este foro.