with outside found example python-3.x widget pyqt matplotlib qt-designer

python-3.x - outside - plot() matplotlib



widget matplotlib para Qt 4, Python 3 (1)

Estoy escribiendo una aplicación GUI en Python 3 usando PyQt4 y matplotlib. El usuario debería seleccionar ciertos nombres de campo, luego programm leería los valores correspondientes de la base de datos, los procesaría y dibujaría un gráfico con algunas estadísticas fuera de él. El usuario podría cambiar los nombres de los campos o ciertas opciones para la representación de estadísticas y (automáticamente) volver a dibujar el gráfico.

Encontré algún widget de Qt en este capítulo: Matplotlib para desarrolladores de Python, incrustación de Matplotlib en Qt 4 . Pero también hay algún widget de ejemplo aquí: widget mpl .

No tengo mucha experiencia con el diseño de Qt y me pregunto ¿cuál podría ser la diferencia por esos dos? Hasta ahora he probado el primero y me permite mostrar un gráfico matplotlib (histograma) dentro de la GUI de Qt, pero no puedo probar todas las características, como actualizar el diagrama después de cambiar cualquier parámetro, porque aún no está implementado .

Cualquier consejo, buena referencia o widgets disponibles son bienvenidos.


La ventaja del widget mpl es que puedes verlo mientras diseñas tu interfaz en QtDesigner, y algunas cosas se configuran automáticamente para ti. Si miras el código, verás que también se basa en el ejemplo de "incrustación" que das. Por otro lado, siempre puede tener un qwidget de marcador de posición (o lo que sea) en la interfaz para colocar el widget de trazado, y luego no tiene que cargar el archivo mpl_widget como una dependencia.

La solución más simple podría ser usar la interfaz pylab de matplotlib, que producirá ventanas figura independientes de su aplicación principal. Debe asegurarse de que el modo interactivo esté activado y el backend esté configurado en qt4 antes de intentar trazar algo. Las figuras son fáciles de administrar (p. Ej., Plt.close (''all'')).