Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import sys
- from PyQt4 import QtCore, QtGui, QtWebKit
- import WebGui
- import Part
- import FreeCADGui, FreeCAD
- """Html snippet."""
- html = """
- <html><body>
- <center>
- <script language="JavaScript">
- document.write('<p>Python ' + pyObj.pyVersion + '</p>')
- </script>
- <button onClick="pyObj.showMessage('Hello from WebKit')">Press me</button>
- <table>
- <TR>
- <TH align=right>Box size:
- <TD><input type=text name=size >
- <button onClick="pyObj.makeBox('a box should magically appear on the screen')">Make Box</button>
- </center>
- </body></html>
- """
- class StupidClass(QtCore.QObject):
- """Simple class with one slot and one read-only property."""
- @QtCore.pyqtSlot(str)
- def showMessage(self, msg):
- """Open a message box and display the specified message."""
- QtGui.QMessageBox.information(None, "Info", msg)
- @QtCore.pyqtSlot(str)
- def makeBox(self, msg):
- #boxsize = float(form['size'].value)
- FreeCAD.Console.PrintMessage("I want a box to appear on the screen\n")
- #FreeCAD.Console.PrintMessage("it is " + str(boxsize) + " big")
- FreeCAD.ActiveDocument.addObject("Part::Box","Box")
- FreeCAD.ActiveDocument.recompute()
- def _pyVersion(self):
- """Return the Python version."""
- return sys.version
- """Python interpreter version property."""
- pyVersion = QtCore.pyqtProperty(str, fget=_pyVersion)
- myObj = StupidClass()
- a = QtGui.qApp
- mw = a.activeWindow()
- v= mw.findChild(QtWebKit.QWebFrame)
- v.setHtml(html)
- curr1 = v.page()
- frame1 = curr1.currentFrame()
- frame1.addToJavaScriptWindowObject("pyObj", myObj)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement