2017-02-28 1 views
0

WebEngineView QML 유형을 사용하여 새 탭에서 열어야하는 링크가있는 웹 페이지를 표시합니다. 링크는 내가 외부 브라우저에서 newViewRequested signal의 URL을 열려는newViewRequested 신호가 발생하면 외부 브라우저에서 URL 열기

<a href="http://google.com" target="_blank">Go to google in new tab</a> 

같은 일도 있습니다 만 WebEngineNewViewRequest 내가 Qt.openUrlExternally(request.url)와 함께 사용할 수있는 'URL'속성이 없습니다.

WebEngineNewViewRequest에는 qml의 속성으로 액세스 할 수없는 개인 회원 QUrl m_requestedUrl이 있습니다. 문제를 어떻게 처리하고 URL을 가져 와서 외부 브라우저에서 열 수 있습니까? 감사합니다. .

답변

0

는 Qt5에서, 당신이 이것을 달성하기 위해 navigationRequested 신호를 사용할 수 있습니다

onNavigationRequested: function(request) { 
    if (request.navigationType === WebEngineNavigationRequest.LinkClickedNavigation) { 
     Qt.openUrlExternally(request.url) 
    } 
    request.action = WebEngineNavigationRequest.IgnoreRequest 
} 

action 속성에 IgnoreRequest을 할당하는 선이 URL이 WebEngineView에서 열려 있지 않은지 확인하는 것입니다.

관련 문제