これはPython/PySideで書かれています。サブクラス化されたQWebViewはハイパーリンクのクリックに反応しません
PySide.QtWebKit.QWebViewウィジェットをオーバーロードすることで、自分のペアレンタルWebブラウザーを作成しようとしています。誰かがウィジェットのリンクをクリックするたびに私は無効なウェブサイトに行くかどうかをチェックし、そうでなければ続行します。はいの場合は一般ページにリダイレクトします。
私はPySide.QtWebKit.QWebViewをサブクラス化しましたが、リンクがクリックされたときの通知を受け取っていません。 linkClicked関数をオーバーライドしましたが、リンクをクリックしたときに関数が実行されることはありませんか?
私は間違っていますか?なぜ私の機能を実行/ハイパーリンクに反応することができない "イベント"をクリックしますか?クリックをリンクするために反応するには、このクラスではないウェブページオブジェクト&をオーバーライドする必要がありますか?
import PySide.QtWebKit
import sys
from PyQt4 import QtGui
class BrowserWindow(PySide.QtWebKit.QWebView):
# Class Variables:
def __init__(self, _parent):
""" Constructor: """
super(BrowserWindow, self).__init__()
PySide.QtWebKit.QWebView(None)
def linkClicked(self, arg__1):
""" Post: """
#print("LINK CLICKED")
#text, ok = QtGui.QInputDialog.getText(self, 'Input Dialog',
# 'Enter your name:')
self.load("http://yahoo.com")
def main():
app = QtGui.QApplication(sys.argv)
view = BrowserWindow(None) #PySide.QtWebKit.QWebView(None)
view.load("http://google.com")
view.show()
sys.exit(app.exec_())
if __name__ == '__main__':
main()