2010-07-06 15 views
7

QtWebView'da bir sayfa açıyorum (eğer önemliyse PyQt içinde) ve sistem varsayılan tarayıcısındaki tüm bağlantıları açmak istiyorum. Yani Bir bağlantıya bir tıklama QtWebView'da siteyi değiştirmemeli, ancak varsayılan tarayıcıyla açmalıdır. Kullanıcının QtWebView'da siteyi değiştirmesini imkansız kılmak istiyorum.QtWebView'da bağlantı tıklamaları yakalamak ve varsayılan tarayıcıda açmak

Bunu nasıl yapabilirim?

sayesinde yapar Albert

cevap

9

:

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_()) 
+1

teşekkürler. İşleyiciyi de şu şekilde bağlayabiliriz: web.linkClicked.connect (self.linkClicked) –

İlgili konular