문제
내 응용프로그램에 "시작 페이지"가 있습니다. QWebView
내 서버에서 페이지를 다운로드하는 위젯입니다.
사용자가 링크를 클릭하면 위젯이 아닌 기본 브라우저에서 링크가 열리도록 하고 싶습니다.
이것을 할 수 있는 방법이 있나요? QWebView
?아니면 다른 접근 방식을 취해야 합니까?
해결책
QWebPage::setLinkDelegationPolicy(QWebPage::DelegateAllLinks)를 호출한 다음 QWebView::linkClicked 신호(const QUrl & url)를 슬롯에 연결하고 슬롯에서 브라우저를 실행하십시오.기본 브라우저가 무엇인지 알아내는 것은 약간 더 복잡하며 사용자가 실행 중인 데스크톱에 따라 다릅니다.환경 변수 BROWSER에는 기본값이 포함되는 경우가 많습니다.
또는 사용 QDesktopServices::openUrl [댓글에서 gnud가 제안한대로]
다른 팁
링크가 외부에 있다고 가정하면 전화를 걸 수 있습니다. QWebView::setOpenExternalLinks(true) QWebView 위젯에서.이 속성은 기본적으로 false입니다.true로 설정하면 외부 링크가 기본 웹 브라우저에서 열립니다.
제휴하지 않습니다 StackOverflow