Как отобразить математический набор текста (MathJax, LaTeX и т. Д.) В Qt, используя PyQt5?

Короче говоря:

В последней итерации

for(int i = 0; i<=name.length; i++) {

i будет равно name.length, что является незаконным индексом, так как индексы массива равны нулю, основанный.

Ваш код должен читать

for(int i = 0; i < name.length; i++) 
                 ^
-1
задан clockelliptic 25 June 2019 в 19:54
поделиться

1 ответ

1110 Я выяснил, как это сделать довольно легко и просто. Приведенный ниже пример требует подключения к Интернету для доступа к модулю MathJax JS.

  1. Сначала импортируйте QApplication и QWebEngineView .

    import sys
    from PyQt5.QtWidgets import QApplication
    from PyQt5.QtWebEngineWidgets import QWebEngineView
    
  2. Затем напишите многострочную строку, содержащую HTML-код. Код должен импортировать модуль JavaScript MathJax. Затем напишите свое математическое уравнение ...

    pageSource = """
                 <html><head>
                 <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_HTMLorMML">                     
                 </script></head>
                 <body>
                 <p><mathjax style="font-size:2.3em">$u = \int_{-\infty}^{\infty}(awesome)\cdot du$</mathjax></p>
                 </body></html>
                 """
    
  3. Наконец, создайте экземпляр QApplication, создайте экземпляр QWebEngineView и настройте WebEngineView для отображения вашего недавно написанного HTML-кода:

    app = QApplication(sys.argv)
    webView = QWebEngineView()
    webView.setHtml(pageSource)
    
  4. Дон не забудьте вызвать show в вашем WebEngineView.

    webView.show()
    sys.exit(app.exec_())
    

Если вы хотите создать приложение, которое не требует подключения к Интернету для запуска файла MathJax JS, просто скопируйте модуль JS и сохраните его в виде строки в своем коде.

2
ответ дан clockelliptic 25 June 2019 в 19:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: