QWebView 获取响应

0 投票
1 回答
554 浏览
提问于 2025-04-18 11:09

我有一段用Python写的代码,里面用到了PySide库,里面有一个QWebView组件用来显示谷歌地图。

我想要在每次通过这个QWebView组件发出请求时,获取到响应结果。

我查了很多资料,但没有找到关于如何在PySide中获取响应的相关信息。如果你需要我贴一些代码,我可以提供,但我现在只有一个简单的QWebView组件。

补充一下:你让我提供代码:

from PySide.QtCore import *
from PySide.QtGui import *
import sys


import pyside3

class MainDialog(QMainWindow, pyside3.Ui_MainWindow):

    def __init__(self, parent=None):
        super(MainDialog,self).__init__(parent)
        self.setupUi(self)
        token_fb=""
        #self.Connect_buttom.clicked.connect(self.get_fb_token)
        self.Connect_buttom.clicked.connect(lambda: self.get_fb_token(self.FB_username.text(), self.FB_password.text()))
        #self.connect(self.Connect_buttom, SIGNAL("clicked()"), self.get_fb_token)

        #Change between locate and hunt
        self.MapsButton.clicked.connect(lambda: self.select_page_index(0))
        self.HuntButton.clicked.connect(lambda: self.select_page_index(1))
        ###########################


        self.webView.setHtml(URL)
    def select_page_index(self, index):  # To change between frames
        self.Container.setCurrentIndex(index)

我需要获取从:self.webView.setHtml(URL) 这个方法得到的响应,因为根据这个响应,我的应用需要做不同的事情。

1 个回答

0

函数 QWebView.setHtml() 没有任何响应,也就是说它不会返回任何东西。

也许你想要监听所有被点击的链接,然后对这些链接做一些自定义的处理。

web_view = QtWebKit.QWebView()
web_view.page().setLinkDelegationPolicy(QtWebKit.QWebPage.DelegateAllLinks)
web_view.linkClicked.connect(your_handler)

或者,也许你想在加载完成后做一些事情。你可以通过以下方式实现:

web_view = QtWebKit.QWebView()
web_view.loadFinished.connect(your_handler)

撰写回答