7
我打開QtWebView中的頁面(在PyQt中,如果有的話),我想打開系統默認瀏覽器中的所有鏈接。即點擊一個鏈接不應該改變QtWebView中的網站,但它應該用默認瀏覽器打開它。我想讓用戶無法在QtWebView中更改網站。在QtWebView中捕獲鏈接點擊並在默認瀏覽器中打開
我該怎麼做?
感謝, 阿爾伯特
我打開QtWebView中的頁面(在PyQt中,如果有的話),我想打開系統默認瀏覽器中的所有鏈接。即點擊一個鏈接不應該改變QtWebView中的網站,但它應該用默認瀏覽器打開它。我想讓用戶無法在QtWebView中更改網站。在QtWebView中捕獲鏈接點擊並在默認瀏覽器中打開
我該怎麼做?
感謝, 阿爾伯特
這就行了:
import sys, webbrowser
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from PyQt4.QtWebKit import *
app = QApplication(sys.argv)
web = QWebView()
web.load(QUrl("http://www.az2000.de/projects/javascript-project/"))
web.page().setLinkDelegationPolicy(QWebPage.DelegateAllLinks)
def linkClicked(url): webbrowser.open(str(url.toString()))
web.connect(web, SIGNAL("linkClicked (const QUrl&)"), linkClicked)
web.show()
sys.exit(app.exec_())
感謝。我們可以使用這種方式綁定處理程序:web.linkClicked.connect(self.linkClicked) – 2014-12-12 05:49:40