Agregue QT GUI a Python para trazar gráficos

El marco Qt (con QT Creator IDE) se puede usar para crear interfaces elegantes para la aplicación Python GUI. Es posible trazar gráficos en una GUI con la biblioteca pyqtgraph.

Instalación de pyqtgraph:
hay varias formas de instalar pyqtgraph según sus necesidades.

Si está utilizando Anaconda, puede instalar con:

conda install -c anaconda pyqtgraph

O con el comando pip:

pip install pyqtgraph

Creación de widgets de trama con QT Creator –

Agregue los botones, áreas de texto y otras cosas como se hace normalmente con QT Creator. Para crear un área de parcela, debe seguir los pasos:

  1. Agregue un widget a la interfaz de usuario y asígnele un nombre propio como «widgetSignal»
  2. Promocionar el widget a pyqtgraph

Cargar interfaz de usuario a Python –

  1. En su código python, llame a la interfaz de usuario que creó con QT Creator.
  2. Crear una onda sinusoidal para trazar
  3. Dibujar el gráfico en la interfaz de usuario
from PyQt5 import QtWidgets, uic
import sys
import numpy as np
  
class MainWindow(QtWidgets.QMainWindow):
      
    def __init__(self, *args, **kwargs):
        super(MainWindow, self).__init__(*args, **kwargs)
         # Load the UI Page
        self. ui = uic.loadUi('mainwindow.ui', self)
        # Create a sin wave
        x_time = np.arange(0, 100, 0.1);
        y_amplitude = np.sin(x_time)
          
        pltSignal = self.widgetSignal
        pltSignal.clear()
        pltSignal.setLabel('left', 'Signal Sin Wave', units ='(V)')
        pltSignal.setLabel('bottom', 'Time', units ='(sec)')
        pltSignal.plot(x_time, y_amplitude, clear = True)
  
        self.ui.show()
  
def main():
    app = QtWidgets.QApplication(sys.argv)
    window = MainWindow()
    sys.exit(app.exec_())
  
if __name__ == '__main__':
    main()     

Producción:

Publicación traducida automáticamente

Artículo escrito por embeddedEngineerGirl y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *