Eric, Un genial IDE para Python

A éste IDE lo definen así:

eric4 es un Entorno Integrado de Desarrollo para el lenguaje de programación Python. Está escrito utilizando los enlaces Python PyQt para Qt GUI toolkit y el widget de edición QScintilla.

Digamos que quería instalar este monstruo hace 2 años atrás y nunca lograba hacerlo. Ni en Windows ni en Linux, ni por paquetes ni compilandolo… no se, creo que algo me faltaba siempre…😦

Resulta que el otro día buscando en los paquetes de Pardus, lo encontré! Y que lo instalé de una😀

Hasta ahora he descubierto poco, pero siguiendo un tutorial del mismo IDE logré hacer un miniBrowser que funciona y todo😀

Ésta entrada se basa en ese tuto, así que pueden seguir leyendo o ir directo al original.

Eric hace muchas cosas, y lo que no puede hacer, lo hace con 3º. Es por eso que, además de Python y sus librerías devel, deben tener instalado Qt Designer para diseñar las GUIs.

Empezamos creando un nuevo proyecto desde el Menú y rellenando los datos de ésta forma.

Información Proyecto

Aceptamos, aceptamos, le decimos que “ninguno” y volvemos a aceptar. De ésta forma agregamos el archivo minibrowser.py, y determinamos que no trate el proyecto como svn.

Ahora en la izquierda tenemos 2 archivos. Si los abrimos, no tienen nada. Más adelante editaremos minibrowser.py

Lo siguiente es añadir una interfaz para que podamos interactuar. Agregamos un nuevo paquete para contener todos los archivos que estén relacionados con ventanas o entorno gráfico. Para eso, click derecho donde están los 2 archivos, en un lugar vacío y agregamos un nuevo paquete. Le damos un nombre y listo.

Nuevo Paquete

Lo siguiente es ir a la 2º pestaña (a la derecha de las pitones) y crear un nuevo formulario con click derecho en área vacía y seleccionar “ventana principal” en la lista. La guardamos en la carpeta (paquete) que creamos “ui” y listo.

Nuevo Formulario, Ventana Principal

Eric automágicamente lanza Qt Designer para diseñar nuestra ventana, agregar botones, etc.

Agregamos los 3 controles que necesitamos: Un campo de texto (Line Edit), Un botón (Push Button), y el contenedor web (QWebView).

Una vez que los tengamos en la ventana principal, los renombramos con un nombre más adecuado. Más menos así:

Ventana Qt Designer

Lo siguiente es ordenarlos horizontalmente.

Ordenar elementos Horizontalmente

Ahora ordenamos los 3 elementos seleccionando el fondo (sin clickear ninguno de los 3 controles) y damos un Ctrl+5.

Ahora podemos ver desde el menú Form->Preview In->Oxygen. Tenemos algo como esto:

Vista Previa

Ahora el esqueleto está listo, guardamos, cerramos Qt Designer, y volvemos a Eric.

El archivo .ui que tenemos no sirve por sí solo, tenemos que compilarlo para que Python lo pueda utilizar. Click derecho en él y lo compilamos.

Compilar Formulario

Eric nos da el aviso, y de ser correcto continuamos.

Podemos abrir este archivo en el editor, pero Eric nos da el aviso de que cualquier cambio que hagamos en él, al momento de Re-Compilar el archivo .ui original (en caso de que agreguemos otro control) perderemos todos los cambios.

Para usarlo, simplemente creamos una clase que herede todos (o casi todos) los elementos de la clase Ui_VentanaPrincipal.

Volvemos al archivo .ui en la segunda pestaña, click derecho y vamos a Generar Código de Dialogo.

Por ahora, el único control y evento (o señal) que vamos a utilizar es el “realeased” del botón. Le damos al check, y luego creamos la nueva Clase

Seleccionando lo que necesitamos.

Ahora si podemos abrir y editar la nueva clase que Eric nos crea. Vamos al evento del botón, y vemos el siguiente código:

def on_btnIr_released(self):
        """
        Slot documentation goes here.
        """
        # TODO: not implemented yet
        raise NotImplementedError

En otras palabras… no hace nada salvo lanzar una exception. Agregamos una línea de código para decirle que tome el texto (url) de txtUrl y la lleve al contenedor web para cargarla. Dependiendo de cómo hayan definido sus controles, el nombre de los objetos varia. En mi caso es así:

self.webCont.setUrl(QUrl(self.txtUrl.text()))

y eso es todo! Para que pueda cargar la web, deben importar QUrl.

Ya tenemos todo, solo falta iniciar la aplicación. Nuestro archivo main es minibrowser.py. Lo editamos de forma que contenga esto:

from PyQt4 import QtCore, QtGui
from ui.VentanaPrincipal import MainWindow

if __name__ == "__main__":
    import sys
    app = QtGui.QApplication(sys.argv)
    ui = MainWindow()
    ui.show()
    sys.exit(app.exec_())

Ahora ejecutamos (f2) y yasta!

Mini Browser En Acción😀

Lo siguiente es cosa de meter mano, pero básicamente es del mismo estilo.

Dejo los archivos en DropBox, puede que les sirva de algo😉

Acerca de MaritoCares

Ingeniero Informático. Con tendencias a la programación en [C#, VB].NET, Java(Web principalmente...), PHP, JavaScript, algo mínimo de [ruby, python], y el clásico C.
Esta entrada fue publicada en Aplicación, Pardus, Python, Tutoriales. Guarda el enlace permanente.

6 respuestas a Eric, Un genial IDE para Python

  1. Juan Manuel dijo:

    Hola como estas estoy tratando de hacer el ejemplo instale Qt4 pero no encuntro la opción que dice qwebviewer no entiendo porque o si se tiene que instalar mas complemento me podrías ayudar. o por lo menos decirnos como instalaste todo el paquete de Qt y que version usaste.

    • MaritoCares dijo:

      Hola!

      Sinceramente, no tengo ni la más mínima idea…

      Instalé Eric y QT desde el Administrador de Paquetes de Pardus Linux (la distro que ocupo) y no tuve que mover más nada :S

      Puede ser que entre tanto control que trae, se te fuera de vista… que no creo que busques qwebviewer tal cual… ya que es qwebview

      Saludos😀

  2. Anónimo dijo:

    ¡Muchas gracias por este tutorial, me ha sido de gran ayuda para decidirme a utilizar Eric como entorno de desarrollo para Python!.
    Saludos afectuosos.🙂

  3. Juan M. dijo:

    ¡Muchas gracias por este tutorial!. Me ha servido de gran ayuda para decidirme por Eric como entorno de desarrollo para Python.
    Saludos desde España🙂

  4. Marcos dijo:

    Parece bastante completo… pero, ¿hay algún manual/tutorial de eric? ahora mismo estoy entre eric y spe y la verdad que encuentro muy poca información.. . Excelente el post!

  5. Anónimo dijo:

    Saludos, oye, estoy empezando en python, se pueden tener varias versiones instaladas en el pc???, 2.7 y 3.3. es que he tenido problemas para descargar el plugin de netbeans y el de eclipse…

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s