From 9ee10289341f7cd4ef1bb98e53e149733473475c Mon Sep 17 00:00:00 2001 From: g4b Date: Sun, 4 May 2014 14:19:52 +0200 Subject: [PATCH] gitignore rules. gui qbrowse example. --- gui/__init__.py | 0 gui/qbrowser.py | 77 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 77 insertions(+) create mode 100644 gui/__init__.py create mode 100644 gui/qbrowser.py diff --git a/gui/__init__.py b/gui/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/gui/qbrowser.py b/gui/qbrowser.py new file mode 100644 index 0000000..5795c6c --- /dev/null +++ b/gui/qbrowser.py @@ -0,0 +1,77 @@ +""" + ********************* VerySimpleWebBrowser ************************ + + This is a Very Simple Web Browser implemented over Qt and QtWebKit. + + author: Juan Manuel Garcia + + ******************************************************************* +""" + +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.default_url = "http://google.com" + self.tb_url.setText(self.default_url) + 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.show() + +if __name__ == "__main__": + + app = QtGui.QApplication(sys.argv) + main = Browser() + main.show() + sys.exit(app.exec_()) +