这是在 Python/PySide 中。
我正在尝试通过重载 PySide.QtWebKit.QWebView 小部件来创建自己的 Parental WebBrowser。然后,每当有人单击小部件上的链接时,我都会检查我们是否要去一个无效的网站,如果不是,我们继续,如果是,那么我会重定向到一个通用页面。
所以我对 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()