Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 如何使用PyQt5在Qt中显示数学排版(MathJax、LaTeX等)?_Python 3.x_Qt_Latex_Pyqt5_Mathjax - Fatal编程技术网

Python 3.x 如何使用PyQt5在Qt中显示数学排版(MathJax、LaTeX等)?

Python 3.x 如何使用PyQt5在Qt中显示数学排版(MathJax、LaTeX等)?,python-3.x,qt,latex,pyqt5,mathjax,Python 3.x,Qt,Latex,Pyqt5,Mathjax,我对Qt和PyQt5相当陌生,希望在GUI窗口中显示数学排版。具体来说,我希望它能够动态更新。我似乎找不到任何关于如何使用PyQt5执行此操作的有用信息 我已经彻底研究了如何做到这一点 我们找到了一个看似相关的答案,但没有给出解决方案,也没有真正解决在GUI中显示排版数学的问题 找到了另一个看似相关的答案,但使用了PySide(和python 2.7),给出了一个荒谬而不必要的复杂而过时的答案。我找到了如何以一种非常简单和简单的方式实现这一点的方法。下面给出的示例需要internet连接才能访问

我对Qt和PyQt5相当陌生,希望在GUI窗口中显示数学排版。具体来说,我希望它能够动态更新。我似乎找不到任何关于如何使用PyQt5执行此操作的有用信息

我已经彻底研究了如何做到这一点

我们找到了一个看似相关的答案,但没有给出解决方案,也没有真正解决在GUI中显示排版数学的问题


找到了另一个看似相关的答案,但使用了PySide(和python 2.7),给出了一个荒谬而不必要的复杂而过时的答案。

我找到了如何以一种非常简单和简单的方式实现这一点的方法。下面给出的示例需要internet连接才能访问MathJax JS模块

  • 首先,导入QApplicationQWebEngineView

    import sys
    from PyQt5.QtWidgets import QApplication
    from PyQt5.QtWebEngineWidgets import QWebEngineView
    
  • 然后,编写一个包含HTML代码的多行字符串。代码应该导入MathJax javascript模块。然后,写下你的数学方程

    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>
                 """
    
  • 别忘了在WebEngineView上调用show

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

  • 如果您想创建一个不需要internet连接的应用程序来运行MathJax JS文件,只需复制JS模块并将其保存为代码中的字符串。

    @PatrickArtner,我看不出这两个模块如何解决我提出的问题。第一篇文章没有公认的答案,也没有给出相关的解决方案。第二个答案是Python的另一个版本,一个过时的QT版本,给出了一个荒谬而不必要的复杂解决方案。但除了说“我已经彻底研究了如何做到这一点”之外,你没有显示任何搜索结果。所以我想我花了1分钟的时间在谷歌上搜索,然后给你一些建议。第一个问题没有公认的答案,但你可以继续回答。2.7解决方案也可适用于使用3.x。。。
    webView.show()
    sys.exit(app.exec_())