これはPython/PySideにあります。
PySide.QtWebKit.QWebViewウィジェットをオーバーロードして、独自の親WebBrowserを作成しようとしています。次に、誰かがウィジェットのリンクをクリックするたびに、無効なWebサイトにアクセスするかどうかを確認します。アクセスしない場合は続行し、アクセスする場合は、一般的なページにリダイレクトします。
そのため、PySide.QtWebKit.QWebViewをサブクラス化しましたが、リンクがクリックされたときに通知を受け取りません。linkClicked関数をオーバーライドしましたが、リンクがクリックされたときに関数が実行されませんか?
私は何が間違っているのですか?関数を実行/ハイパーリンククリック「イベント」に反応できないのはなぜですか?リンクのクリックに反応するには、このクラスではなくWebページオブジェクトをオーバーライドする必要がありますか?
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()