2010-04-18 16 views
9

Je voudrais ajouter du texte TeX à mon formulaire Qt, comme l'étiquette - juste du texte, pas de graphique, pas de lignes, pas de frontières, juste TeX. J'ai pensé quelque chose comme ceci: rendre TeX en bitmap et ensuite placer ce bitmap sur le formulaire, par exemple. dans QLabel. Ou encore mieux - utiliser un backend, l'ajouter à la forme et utiliser quelque chose tex_label.print_tex(<tex code>). Semble matplotplot a analyseurs TeX, mais je ne peux pas comprendre comment les utiliser ...matplotlib - écrire TeX sur le formulaire Qt

Merci.

Répondre

8

En 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

Ceci est la meilleure solution à environ 12 questions que j'ai fil sur stackoverflow aujourd'hui sur le rendu TeX –

+1

Où se trouve 'Figure' de? matplotlib ou pyqt? – user89