def initialize(self): # create a gui application qt_app = QtGui.QApplication(sys.argv) self.qt_gui = qt_app # start the web site app and set app manager app_manager = gui.OAppManager() app = gui.WSGIApp('core', web.app.wsgi_app) app_manager.register(app) page = QtWebKit.QWebPage() page.setNetworkAccessManager( gui.ONetworkAccessManager(page, page.networkAccessManager())) page.settings().setAttribute( QtWebKit.QWebSettings.DeveloperExtrasEnabled, True) self.page = page view = QtWebKit.QWebView() view.setPage(page) view.resize(1024, 950) view.move(qt_app.desktop().screen().rect().center() - view.rect().center()) view.show() self.view = view api = OJSAPI() # add to js, then js can access oegarn api.attach(self)
def loadPage(url): page = QtWebKit.QWebPage() loop = QtCore.QEventLoop() # Create event loop page.mainFrame().loadFinished.connect(loop.quit) # Connect loadFinished to loop quit page.mainFrame().load(url) loop.exec_() # Run event loop, it will end on loadFinished return page.mainFrame().toHtml()
def __init__(self, neo, applet): super(JS_API, self).__init__() self._neo = neo self._applet = applet self._webpage = QtWebKit.QWebPage() self._frame = self._webpage.mainFrame() self._frame.addToJavaScriptWindowObject('_JS_API', self)
def print(self, filename): print(filename) self.filename = filename self.printer = QtGui.QPrinter() self.printer.setPageSize(QtGui.QPrinter.A4) self.printer.setColorMode(QtGui.QPrinter.Color) self.printer.setOutputFormat(QtGui.QPrinter.PdfFormat) self.printer.setOutputFileName(filename) self.page = QtWebKit.QWebPage(self.parent()) self.page.mainFrame().load("file://%s" % self.url) self.view = QtWebKit.QWebView() self.view.setPage(self.page) #self.view.show() self.page.mainFrame().loadFinished.connect(self.print_)
def test_power_on(self): page = QtWebKit.QWebPage() display = Display(page, hostname="kiosk-01") if os.path.exists(self.status_file): os.remove(self.status_file) # trigger powerOn via JavaScript display.page.mainFrame().evaluateJavaScript("window.display.powerOn()") QtCore.QCoreApplication.processEvents() self.assert_(os.path.exists(self.status_file), 'status file does not exist') f = open(self.status_file, 'r') status = f.read().strip() f.close() self.assertEquals('on', status)
def __init__(self, parent=None): super(Form, self).__init__(parent) self.setWindowTitle("My Form") #self.setWindowFlags(Qt.FramelessWindowHint) self.setWindowFlags(Qt.WindowStaysOnTopHint) #self.showFullScreen() layout = QHBoxLayout() self.text = QTextEdit() self.scene = QGraphicsScene() self.view = QGraphicsView(self.scene) #layout.addWidget(self.text) layout.addWidget(self.view) #textItem = QGraphicsTextItem('test') #textItem.linkHovered.connect(self.itemHover) anotherItem = QGraphicsTextItem() anotherItem.setHtml( '<html><style>a { color: green; text-decoration: none; } a:hover { color: red; }</style><body>Another one <a id="test" href="test">bites!</a></body></html>' ) anotherItem.linkHovered.connect(self.itemHover) anotherItem.setTextInteractionFlags(Qt.LinksAccessibleByMouse) #self.scene.addItem(textItem) self.scene.addItem(anotherItem) # USE THIS textBrowser = QtWebKit.QWebView() webPage = QtWebKit.QWebPage() webPage.mainFrame().setHtml( '<html><style>a { color: green; text-decoration: none; } a:hover { color: red; }</style><body>Another one <a id="test" href="test">bites!</a></body></html>' ) webPage.linkHovered.connect(self.itemHover) textBrowser.setPage(webPage) layout.addWidget(textBrowser) # END OF THIS label = QLabel( '<html><style>a { color: green; text-decoration: none; }</style><body>Another one <a id="test" href="test">bites!</a></body></html>' ) label.linkHovered.connect(self.itemHover) label.setStyleSheet('''a { color: white; }''') layout.addWidget(label) # Set dialog layout self.setLayout(layout)
def test_display(self): page = QtWebKit.QWebPage() display = Display(page, hostname="kiosk-01") self.assert_(display)