【问题标题】:PySide web browser appears, but inspector doesn't display anythingPyside、webkit基础问题
【发布时间】:2011-08-21 23:58:12
【问题描述】:

我目前正在运行此代码,虽然出现了网络浏览器,但网络检查器似乎没有显示任何内容,是我做错了什么吗?

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

app = QApplication(sys.argv)

web = QWebView()
web.load(QUrl("http://www.google.com"))
web.show()

inspect = QWebInspector()
inspect.setPage(web.page())
inspect.show()

sys.exit(app.exec_())

【问题讨论】:

  • 来自 PySide 邮件列表 '嗨,您必须为 QWebView 启用开发人员附加功能。 inspect = QWebInspector() page = web.page() main_frame = page.mainFrame() # 启用 Web Inspector web_settings = view.settings() web_settings.setAttribute(QtWebKit.QWebSettings.DeveloperExtrasEnabled, 1) inspect.setPage(page) inspect .show() Dom'

标签: python qt webkit pyside


【解决方案1】:

Qt Documentation:

注意:QWebInspector 将显示一个 如果出现以下任一情况,则为空白小部件:page() 为空 QWebSettings::DeveloperExtrasEnabled 是假的

您必须启用它,如下所示:

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

app = QApplication(sys.argv)

web = QWebView()
web.settings().setAttribute(
    QWebSettings.WebAttribute.DeveloperExtrasEnabled, True)
# or globally:
# QWebSettings.globalSettings().setAttribute(
#     QWebSettings.WebAttribute.DeveloperExtrasEnabled, True)

web.load(QUrl("http://www.google.com"))
web.show()

inspect = QWebInspector()
inspect.setPage(web.page())
inspect.show()

sys.exit(app.exec_())

【讨论】:

  • 如果你发现QWebSettings.WebAttribute.DeveloperExtrasEnabled不行,请试试QWebSettings.DeveloperExtrasEnabled!!! (有人解释原因吗?)
猜你喜欢
  • 2011-05-29
  • 2013-06-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-08
相关资源
最近更新 更多