デスクトップアプリケーション(PyQt)にいくつかのQWebViewウィジェットを埋め込み始めました。
私はJQueryとCSSを使用して、外観と使いやすさを向上させています。
Webインスペクターを使用してHTMLコードをデバッグするのは快適です。
QWebViewウィジェットにFirebugLiteを埋め込むにはどうすればよいですか?
たとえば、次のコードを試しましたが、機能しません。
html1 = """
<html debug="true">
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.1.js"></script>
<script type="text/javascript" src="https://getfirebug.com/firebug-lite.js#startOpened=true"></script>
<script type="text/javascript">
$(document).ready(function() {
$("body").css("background", "#f00");
console.log("in here");
});
</script>
</head>
<body><h1>Hello!</h1></body>
</html>
"""
html2 = """
<html debug="true">
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.1.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("body").css("background", "#f00");
var firebugLite = document.createElement("script");
firebugLite.src = "https://getfirebug.com/firebug-lite.js";
firebugLite.id = "firebug_lite";
firebugLite.textContent = "{ startOpened: true }";
document.getElementsByTagName("head")[0].appendChild(firebugLite);
console.log("in here");
});
</script>
</head>
<body><h1>Hello!</h1></body>
</html>
"""
if __name__ == '__main__':
app = QApplication(sys.argv)
view = QWebView()
frame = view.page().mainFrame()
frame.setHtml(html2)
view.show()
app.exec_()
html1とhtml2の効果は同じです。本体は赤に変わりますが、Firebugは表示されません。
PS私の実際のhtmlコードは、 QTリソースとアプリケーションウィンドウオブジェクトを使用しているため、外部クライアントブラウザでデバッグできません。