gpt4 book ai didi

python - PySide 如何获取 QWebInspector 相同的窗口

转载 作者:太空狗 更新时间:2023-10-30 01:16:27 26 4
gpt4 key购买 nike

我刚刚开始深入 Qt 领域(来自 PyGTK)并且我正在使用 PySide。所以我在 another answer here on stack exchange 上找到了这个很好的例子.

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_())

我的问题如下,如何让检查器出现在同一个窗口而不是新的窗口中?我知道我需要将 QWebInspector 添加到主窗口内的另一个小部件(例如 vbox),我想知道的是如何将该事件连接到上下文菜单“Inspect”触发的信号。在 PyGTK 中,我需要使用 .connect() 但我找不到适合此特定操作的正确信号。

谢谢你们抽出时间

最佳答案

不需要为上下文菜单做任何特殊的工作。只需将检查器小部件添加到您的布局,然后开始使用 hide() 即可。然后,默认上下文菜单操作可以根据需要show() 检查器。

一个稍微棘手的问题是如何在显示检查器后再次隐藏它,因为似乎没有相应的上下文菜单项。

下面的演示脚本只是创建了一个键盘快捷键来隐藏/显示检查器:

from PySide import QtGui, QtCore, QtWebKit

class Window(QtGui.QWidget):
def __init__(self):
QtGui.QWidget.__init__(self)
self.view = QtWebKit.QWebView(self)
self.view.settings().setAttribute(
QtWebKit.QWebSettings.WebAttribute.DeveloperExtrasEnabled, True)
self.inspector = QtWebKit.QWebInspector(self)
self.inspector.setPage(self.view.page())
self.inspector.hide()
self.splitter = QtGui.QSplitter(self)
self.splitter.addWidget(self.view)
self.splitter.addWidget(self.inspector)
layout = QtGui.QVBoxLayout(self)
layout.addWidget(self.splitter)
QtGui.QShortcut(QtGui.QKeySequence('F7'), self,
self.handleShowInspector)

def handleShowInspector(self):
self.inspector.setShown(self.inspector.isHidden())

if __name__ == '__main__':

import sys
app = QtGui.QApplication(sys.argv)
window = Window()
window.view.load(QtCore.QUrl('http://www.google.com'))
window.show()
sys.exit(app.exec_())

关于python - PySide 如何获取 QWebInspector 相同的窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13408545/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com