2010-04-18 18 views
9

Tôi muốn thêm một số văn bản TeX vào biểu mẫu Qt của tôi, như nhãn - chỉ văn bản, không có biểu đồ, không có dòng, không viền, chỉ cần TeX. Tôi nghĩ một cái gì đó như thế này: làm cho TeX thành bitmap và sau đó đặt bitmap đó vào biểu mẫu, ví dụ: vào QLabel. Hoặc thậm chí tốt hơn - sử dụng một số phụ trợ, thêm nó để tạo thành và sử dụng một cái gì đó tex_label.print_tex(<tex code>). Có vẻ như matplotplot có các trình phân tích cú pháp TeX, nhưng tôi không thể tìm ra cách sử dụng chúng ...matplotlib - viết TeX trên mẫu Qt

Cảm ơn.

Trả lời

8

Là một biến thể:

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

Đây là giải pháp tốt nhất để khoảng 12 câu hỏi tôi đã đề trên stackoverflow hôm nay về render TeX –

+1

ở đâu 'Figure' từ đâu? matplotlib hoặc pyqt? – user89

Các vấn đề liên quan