2010-04-18 7 views
9

Me gustaría agregar texto de TeX a mi formulario de Qt, como etiqueta, solo texto, sin gráfico, sin líneas, sin bordes, solo TeX. Pensé algo como esto: renderizar TeX en mapa de bits y luego colocar ese mapa de bits en un formulario, p. en QLabel. O incluso mejor: use un servidor, agréguelo al formulario y use algo tex_label.print_tex(<tex code>). Parece que matplotplot tiene analizadores TeX, pero no sé cómo usarlos ...matplotlib - escriba TeX en el formulario de Qt

Gracias.

Respuesta

8

Como variante:

from matplotlib.figure import Figure 
    from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg 

    # Get window background color 
    bg = self.palette().window().color() 
    cl = (bg.redF(), bg.greenF(), bg.blueF()) 

    # Create figure, using window bg color 
    self.fig = Figure(edgecolor=cl, facecolor=cl) 

    # Add FigureCanvasQTAgg widget to form 
    self.canvas = FigureCanvasQTAgg(self.fig)   
    self.tex_label_placeholder.layout().addWidget(self.canvas) 

    # Clear figure 
    self.fig.clear() 

    # Set figure title 
    self.fig.suptitle('$TeX$', 
         x=0.0, y=0.5, 
         horizontalalignment='left', 
         verticalalignment='center') 
    self.canvas.draw() 
+0

Esta es la mejor solución a alrededor de 12 preguntas que he hilo en stackoverflow hoy Representación de TeX –

+1

¿Dónde está 'Figure' de? matplotlib o pyqt? – user89

Cuestiones relacionadas