El presente libro tiene un objetivo claro: crear aplicaciones gráficas complejas con Python 3. Lo conseguiremos mediante tres librerías de su ecosistema: PyQt: enlaza con la bibl...
El presente libro tiene un objetivo claro: crear aplicaciones gráficas complejas con Python 3. Lo conseguiremos mediante tres librerías de su ecosistema: PyQt: enlaza con la biblioteca gráfica Qt, permitiéndonos usarla desde Python. matplotlib: empleada para generar gráficos en dos y tres dimensiones. NumPy: especializada en cálculo numérico. Tras el conocimiento de las citadas herramientas y apoyándonos en más de 100 ejemplos prácticos se plantean y resuelven 17 aplicaciones de una cierta dificultad. El libro contiene material adicional que podrá descargar accediendo a la ficha del libro en www.ra-ma.es.
Índice
PRÓLOGO. CAPÍTULO 1. PROGRAMACIÓN GRÁFICA EN PYTHON MEDIANTE PYQT (I) 1.1 ENTORNOS GRÁFICOS. LIBRERÍA QT 1.2 PYQT. QUÉ ES Y PARA QUÉ SIRVE. 1.2.1 Instalación de PyQt en nuestro ordenador 1.2.2 Uso de PyQt directamente desde código Python 1.2.3 Uso de Qt Designer para diseñar interfaz gráfico. Elementos que lo componen (Widgets, MainWindow, Dialog) 1.3 WIDGETS FUNDAMENTALES DE QT DESIGNER 1.3.1 Esquemas (Layouts) 1.3.2 Botones (Buttons). 1.3.3 Elementos de visualización (Display Widgets) 1.3.4 Elementos de entrada (Input Widgets) 1.4 PROGRAMANDO SENCILLAS APLICACIONES GRÁFICAS79 1.5 MANEJO DE EVENTOS EN PYQT4 1.5.1 Signals/Slots en PyQt4 1.5.2 Event handler en PyQt4 1.5.3 Señales en widgets fundamentales CAPÍTULO 2. PROGRAMACIÓN GRÁFICA EN PYTHON MEDIANTE PYQT (II). 2.1 WIDGETS AVANZADOS DE QT DESIGNER 2.1.1 Uso de los contenedores Widget, Frame y GroupBox 2.1.2 Uso de Text Edit, List Widget y Table Widget 2.1.3 Uso de Tab Widget, Stacked Widget y Tool Box 2.2 PROGRAMAR APLICACIONES GRÁFICAS DE TIPO VENTANA PRINCIPAL. 2.2.1 Desarrollo de una sencilla aplicación gráfica tipo ventana principal 2.2.2 Uso de separadores (splitters) 2.2.3 Trabajar con varios documentos 2.2.4 Métodos y señales de las clases usadas en el tema. 2.3 EJEMPLOS DE APLICACIONES GRÁFICAS SENCILLAS CON QT DESIGNER 2.3.1 Calculadora simple 2.3.2 Inmobiliaria 2.4 MÁS CLASES DE PYQT CAPÍTULO 3. GENERACIÓN DE GRÁFICOS EN PYTHON MEDIANTE MATPLOTLIB (I) 3.1 GENERACIÓN DE GRÁFICOS EN PYTHON CON MATPLOTLIB 3.2 INSTALACIÓN DE MATPLOTLIB. CREACIÓN DE UN ENTORNO VIRTUAL CON ANACONDA 3.3 USO DE MATPLOTLIB. 3.3.1 Uso de matplotlib directamente: módulo pyplot. 3.3.2 Uso de matplotlib mediante los objetos de su librería. 3.4 USO DE MATPLOTLIB EN 3D. 3.4.1 Curvas en 3D. Uso de plot(). 3.4.2 Gráficos de dispersión en 3D. Uso de scatter() 3.4.3 Barras en 3D. Uso de bar3d() 3.4.4 Superficies en 3D. Uso de plot_surface() 3.4.5 Superficies en 3D. Uso de plot_wireframe() 3.4.6 Superficies en 3D. Uso de plot_trisurf() 3.4.7 Curvas de nivel. Uso de contour() y contourf() 3.4.8 Campo vectorial en 3D. Uso de quiver() 3.4.9 Texto en 3D. Uso de text() 3.4.10 Uso de elementos 2D en entorno 3D CAPÍTULO 4. GENERACIÓN DE GRÁFICOS EN PYTHON MEDIANTE MATPLOTLIB (II). 4.1 LA ARQUITECTURA DE MATPLOTLIB. 4.1.1 El nivel backend 4.1.2 El nivel artist. 4.1.3 El nivel scripting 4.2 CLASES DE MATPLOTLIB COMPATIBLES CON PYQT. 4.3 MANEJO DE EVENTOS EN MATPLOTLIB. 4.4 INSERCIÓN DE GRÁFICO DE MATPLOTLIB EN APLICACIÓN CREADA CON QT DESIGNER 4.5 USO INTERACTIVO DE MATPLOTLIB EN UNA APLICACIÓN PYQT 341 CAPÍTULO 5. CÁLCULOS NUMÉRICOS MEDIANTE NUMPY. 5.1 CREACIÓN DE ARRAYS. ATRIBUTOS. 5.2 CAMBIAR LA FORMA DE LOS ARRAYS 5.3 ACCESO A LOS ELEMENTOS DEL ARRAY 5.4 BROADCASTING 5.5 DIVISIÓN DE LOS ARRAYS 5.6 UNIÓN Y APILADO DE ARRAYS. 5.7 GENERACIÓN DE ARRAYS ALEATORIOS. 5.8 PERMUTAR LOS ELEMENTOS DE LOS ARRAYS 5.9 ORDENACIÓN DE ARRAYS 5.10 BÚSQUEDA DE ELEMENTOS EN ARRAYS 5.11 ESTADÍSTICA EN ARRAYS 5.12 FUNCIONES MATEMÁTICAS CON ARRAYS. CAPÍTULO 6. EJEMPLOS DE APLICACIONES GRÁFICAS. 6.1 CÁLCULO MENTAL 6.2 ACIERTA PALABRAS 6.3 SOPA DE LETRAS 6.4 SUDOKU 6.5 RESERVAS DE HOTEL. 6.6 RECETARIO. 6.7 COMPRAS EN FRUTERÍA. 6.8 DISTANCIA ENTRE PUNTOS 6.9 BALONES. 6.10 GENERACIÓN DE RUTA AZAROSA. 6.11 PÓKER 6.12 BINGO 6.13 AJEDREZ 6.14 NÚMEROS RACIONALES. 6.15 COMBINATORIA. 6.16 CÁLCULO DE PI MEDIANTE EL MÉTODO DE MONTE CARLO. 6.17 REPRESENTACIÓN DE SUPERFICIES 3D. APÉNDICE A. INSTALACIÓN DE PYTHON Y PYSCRIPTER A.1 INSTALAR PYTHON EN NUESTRO ORDENADOR A.2 INSTALAR Y CONFIGURAR PYSCRIPTER EN NUESTRO ORDENADOR. A.3 CONFIGURAR LA VARIABLE DE USUARIO PYTHONPATH APÉNDICE B. MISCELÁNEA B.1 FUNCIONES LAMBDA, MAP() Y FILTER() B.2 FUNCIONES REDUCE() Y PARTIAL() B.3 EVALUACIÓN Y EJECUCIÓN DE CÓDIGO. FUNCIONES EVAL() Y EXEC() B.4 MÉTODOS ESPECIALES O MÁGICOS B.5 TIPOS FUNDAMENTALES EN PYTHON 3. B.5.1 Métodos de la clase str(). B.5.2 Métodos de la clase list() B.5.3 Métodos de la clase tuple(). B.5.4 Métodos de la clase set(). B.5.5 Métodos de la clase dict() B.6 FUNCIONES INTERNAS DE PYTHON 3 B.7 LIBRERÍA ESTÁNDAR DE PYTHON 3. B.7.1 Módulo os. B.7.2 Módulo os.path B.7.3 Módulo sys B.7.4 Módulo random. B.7.5 Módulo math. B.7.6 Módulo time. B.7.7 Módulo calendar. APÉNDICE C. CLASES PRINCIPALES DE MATPLOTLIB C.1 LA CLASE ARTIST. C.2 LA CLASE FIGURE. C.3 LA CLASE AXES. C.4 LA CLASE AXIS. C.5 LA CLASE AXES3D. APÉNDICE D. PRIMITIVAS EN EL NIVEL ARTIST DE MATPLOTLIB. D.1 LINE2D D.2 RECTANGLE. D.3 ELLIPSE. D.4 ARC. D.5 CIRCLE D.6 WEDGE. D.7 ARROW. D.8 REGULARPOLYGON D.9 CIRCLEPOLYGON. D.10 POLYGON D.11 FANCYARROW. D.12 FANCYARROWPATCH D.13 FANCYBBOXPATCH. D.14 CONNECTIONPATCH D.15 OFFSETIMAGE D.16 ANNOTATIONBBOX. BIBLIOGRAFÍA MATERIAL ADICIONAL ÍNDICE ALFABÉTICO.