Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.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/7/arduino/2.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 QWebEnginePage:禁用链接_Python 3.x_Pyqt_Pyqt5 - Fatal编程技术网

Python 3.x QWebEnginePage:禁用链接

Python 3.x QWebEnginePage:禁用链接,python-3.x,pyqt,pyqt5,Python 3.x,Pyqt,Pyqt5,我正在将一个软件从PyQt4移植到PyQt5 对于PyQt4,我曾经使用QWebView来呈现html字符串(因此,没有web浏览,只是一些呈现)。因此,我可以使用以下设置禁用“浏览”: self.page().setLinkDelegationPolicy(QtWebKit.QWebPage.DelegateAllLinks) 其中self是我的QWebView 但是,我现在被迫QtWebEngineWidgets.QWebEngineView。没那么糟糕,但我不能再使用以前的设置了 QtW

我正在将一个软件从PyQt4移植到PyQt5

对于PyQt4,我曾经使用QWebView来呈现html字符串(因此,没有web浏览,只是一些呈现)。因此,我可以使用以下设置禁用“浏览”:

self.page().setLinkDelegationPolicy(QtWebKit.QWebPage.DelegateAllLinks)
其中
self
是我的QWebView

但是,我现在被迫
QtWebEngineWidgets.QWebEngineView
。没那么糟糕,但我不能再使用以前的设置了

QtWebEngineWidgets.QWebEnginePage
没有DelegateAllLinks设置

我想禁用视图中的所有链接,这样用户就无法单击其中一个链接,从而弄乱我的软件


你有什么想法吗?

首先:你绝对确定只需要使用完整的web浏览器来呈现一些静态html吗?该类只支持有限的HTML4子集,但如果您的html很简单,那么它将是比超重量级类(如
QWebEngineView
更好的选择

无论如何,如果您确实必须使用
QWebEngineView
类,那么
setLinkDelegationPolicy
的唯一替代方法是重新实现网页的方法:

class WebEnginePage(QtWebEngineWidgets.QWebEnginePage):
    def acceptNavigationRequest(self, url, navtype, mainframe):
        return False

很好的建议,我的html非常简单(粗体、斜体、sub/supscript)。但是我还需要在文本末尾渲染一个图像(来自本地文件)。我还需要一个缩放功能(Ctrl+鼠标)。你认为QTextBrowser适合吗?@Rififi。听起来有可能。包括图像标签,还有
zoomIn
zoomOut
插槽。缩放只适用于文本(即不适用于图像)。Arf,我还需要图像的缩放功能。加上一切都已经存在,我将坚持使用QWebEngineView。子类化WebEnginePage非常有效,谢谢!