From 3ed80d40b247021d921093dd3ed6a8b24c414f74 Mon Sep 17 00:00:00 2001 From: g4b Date: Mon, 12 May 2014 18:21:19 +0200 Subject: [PATCH] , --- gui/viewer.py | 77 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 gui/viewer.py diff --git a/gui/viewer.py b/gui/viewer.py new file mode 100644 index 0000000..0980948 --- /dev/null +++ b/gui/viewer.py @@ -0,0 +1,77 @@ +# -*- coding: utf-8 -*- +#!/usr/bin/env python +""" + Viewer - starts a webbrowser which is coupled to a local renderer + +""" + +import sys +from PyQt4 import QtCore, QtGui, QtWebKit + +class Browser(QtGui.QMainWindow): + + def __init__(self): + """ + Initialize the browser GUI and connect the events + """ + + QtGui.QMainWindow.__init__(self) + self.resize(800,600) + self.centralwidget = QtGui.QWidget(self) + + self.mainLayout = QtGui.QHBoxLayout(self.centralwidget) + self.mainLayout.setSpacing(0) + self.mainLayout.setMargin(1) + + self.frame = QtGui.QFrame(self.centralwidget) + + self.gridLayout = QtGui.QVBoxLayout(self.frame) + self.gridLayout.setMargin(0) + self.gridLayout.setSpacing(0) + + self.horizontalLayout = QtGui.QHBoxLayout() + self.tb_url = QtGui.QLineEdit(self.frame) + self.bt_back = QtGui.QPushButton(self.frame) + self.bt_ahead = QtGui.QPushButton(self.frame) + + self.bt_back.setIcon(QtGui.QIcon().fromTheme("go-previous")) + self.bt_ahead.setIcon(QtGui.QIcon().fromTheme("go-next")) + + self.horizontalLayout.addWidget(self.bt_back) + self.horizontalLayout.addWidget(self.bt_ahead) + self.horizontalLayout.addWidget(self.tb_url) + self.gridLayout.addLayout(self.horizontalLayout) + + self.html = QtWebKit.QWebView() + self.gridLayout.addWidget(self.html) + self.mainLayout.addWidget(self.frame) + self.setCentralWidget(self.centralwidget) + + self.connect(self.tb_url, QtCore.SIGNAL("returnPressed()"), self.browse) + self.connect(self.bt_back, QtCore.SIGNAL("clicked()"), self.html.back) + self.connect(self.bt_ahead, QtCore.SIGNAL("clicked()"), self.html.forward) + + self.tb_url.setText('Search...') + self.browse() + + def browse(self): + """ + Make a web browse on a specific url and show the page on the + Webview widget. + """ + + #url = self.tb_url.text() if self.tb_url.text() else self.default_url + #self.html.load(QtCore.QUrl(url)) + self.html.setHtml(self.serve()) + self.html.show() + + def serve(self, what=None): + return "

It works!

" + +if __name__ == "__main__": + + app = QtGui.QApplication(sys.argv) + main = Browser() + main.show() + sys.exit(app.exec_()) +