这是在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()