Skip to content

Instantly share code, notes, and snippets.

@webwurst
Created March 26, 2012 08:01
Show Gist options
  • Select an option

  • Save webwurst/2203822 to your computer and use it in GitHub Desktop.

Select an option

Save webwurst/2203822 to your computer and use it in GitHub Desktop.
PySide/WebKit/Javascript
import sys
from PySide.QtCore import QObject, Slot
from PySide.QtGui import QApplication
from PySide.QtWebKit import QWebView
html = """
<html>
<body>
<h1>Hello!</h1><br>
<h2><a href="#" onclick="printer.text('Message from QWebView')">QObject Test</a></h2>
<h2><a href="#" onclick="alert('Javascript works!')">JS test</a></h2>
</body>
</html>
"""
class ConsolePrinter(QObject):
def __init__(self, parent=None):
super(ConsolePrinter, self).__init__(parent)
@Slot(str)
def text(self, message):
print message
if __name__ == '__main__':
app = QApplication(sys.argv)
view = QWebView()
frame = view.page().mainFrame()
printer = ConsolePrinter()
view.setHtml(html)
frame.addToJavaScriptWindowObject('printer', printer)
frame.evaluateJavaScript("alert('Hello');")
frame.evaluateJavaScript("printer.text('Goooooooooo!');")
view.show()
app.exec_()
@tao4yu
Copy link
Copy Markdown

tao4yu commented Oct 31, 2013

great! Thks!

@hit9
Copy link
Copy Markdown

hit9 commented May 27, 2014

cool!

@berndhahnebach
Copy link
Copy Markdown

Great! many many thanks from me too. Der Wartburgritter

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment