Ich habe das folgende Code-Snippet in PySide arbeiten und müssen es in PySide2 arbeiten zu übersetzen. Der Zweck ist es, alle Links zu zwingen, im System-Browser zu öffnen, wenn darauf geklickt (anstatt das Widget zu versuchen, sie zu laden):QWebEngineView - So öffnen Sie Links im Systembrowser
from PySide.QtWebKit import QWebView, QWebPage
class HtmlView(QWebView):
def __init__(self, parent=None):
super(HtmlView, self).__init__(parent)
self.page().setLinkDelegationPolicy(QWebPage.DelegateAllLinks) # not working in PySide2
self.linkClicked.connect(self.openWebsite) # not working in PySide2
Dies war mein Versuch einer Übersetzung:
from PySide2.QtWebEngineWidgets import QWebEngineView, QWebEnginePage
class HtmlView(QWebEngineView):
def __init__(self, parent=None):
super(HtmlView, self).__init__(parent)
self.page().setLinkDelegationPolicy(QWebEnginePage.DelegateAllLinks) # not working in PySide2
self.linkClicked.connect(self.openWebsite) # not working in PySide2
jedoch , QWebEngineView .linkClicked existiert nicht und auch nicht QWebEngineView .setLinkDelegationPolicy oder QWebEnginePage .DelegateAllLinks.
Was ist der beste Weg, dies in PySide2 ohne die oben genannten zu erreichen?
Edit: Ich habe die QEvents überprüft, die ausgelöst werden, aber kein Ereignis scheint abgefeuert zu werden, wenn ein Link angeklickt wird, also ohne das linkClicked Ereignis von PySide/Qt4.8 Ich habe keine Ahnung, wie man das einleitet.
Danke, frank
brillant, ich nur über die gleichen Informationen in einem anderen Beitrag hier gestolpert. Eine Sache, die ich vergessen habe: Ich brauche Links, um im Kontext einer bestimmten URL zu öffnen (damit relative Links genauso funktionieren wie absolute Links). Ich nehme an, das ist der Hauptrahmen vs Unterrahmenteil? Schau es dir jetzt an ... –
@FrankRueter Das ist eine andere Frage, erstelle einen anderen Beitrag. Wenn meine Antwort Ihnen hilft, vergessen Sie nicht, sie als richtig zu markieren. – eyllanesc
@FrankRueter In SO erstellen Sie einen Beitrag nach der Frage, ich werde Ihnen in der anderen Frage helfen, wenn Sie den Beitrag erstellen: P – eyllanesc