Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.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 更改QTextEdit中的搜索路径_Python_Html_Pyqt_Qtextedit_Qtextdocument - Fatal编程技术网

Python 更改QTextEdit中的搜索路径

Python 更改QTextEdit中的搜索路径,python,html,pyqt,qtextedit,qtextdocument,Python,Html,Pyqt,Qtextedit,Qtextdocument,我已经阅读了有关QTextBrowser的内容,您可以在其中添加搜索路径。有没有办法在QTextEdit中实现同样的功能 背景: 我想在QTextEdit中加载一个HTML文件。它使用.setHtml加载文本,但不加载图像。任何浏览器都能正确加载所有内容。 html示例: <img src="b69b37f9a55946e38923b760ab86ee71.png" /> 我发现Python/Qt找不到映像,因为它需要完整的路径。但是,我不想在html文件中保存完整路径。(因为

我已经阅读了有关QTextBrowser的内容,您可以在其中添加搜索路径。有没有办法在QTextEdit中实现同样的功能

背景:

我想在QTextEdit中加载一个HTML文件。它使用.setHtml加载文本,但不加载图像。任何浏览器都能正确加载所有内容。 html示例:

<img src="b69b37f9a55946e38923b760ab86ee71.png" />

我发现Python/Qt找不到映像,因为它需要完整的路径。但是,我不想在html文件中保存完整路径。(因为稍后我可能会更改位置)


如果我用os.chdir()更改工作目录,它将加载映像,但如果我将其更改回来,映像将不会再次显示。此外,这种解决方案似乎非常棘手

QTextBrowser的
searchpath()
方法与您想要的内容无关,因为它有另一个目标


另一方面,使用与
QTextDocument::DocumentUrl
关联的url解析相对路由,如下所示:

QTextDocument::DocumentTitle0文档的标题。
QTextDocument::DocumentUrl1文档的url。这个 loadResource()函数在加载时使用此url作为基础 相关资源

此外,在中很容易观察到这种行为

因此,解决方案是设置映像所在目录的路径:

导入系统 从PyQt5导入QtCore、QtGui、QtWidgets 如果名称=“\uuuuu main\uuuuuuuu”: app=qtwidts.QApplication(sys.argv) w=QtWidgets.QTextEdit() w、 调整大小(640480) w、 show() directory=“/path/of/image\u目录” w、 document().setMetaInformation( QtGui.QTextDocument.DocumentUrl, QtCore.QUrl.fromLocalFile(目录).toString()+“/”, ) HTML=“” w、 setHtml(HTML) sys.exit(app.exec_())