Skip to content

Instantly share code, notes, and snippets.

@LinuxPhreak
Created January 27, 2018 16:25
Show Gist options
  • Select an option

  • Save LinuxPhreak/967503b9430f557c39dc7424830ee482 to your computer and use it in GitHub Desktop.

Select an option

Save LinuxPhreak/967503b9430f557c39dc7424830ee482 to your computer and use it in GitHub Desktop.
My Quick And Dirty Web Browser
#!/usr/bin/python3
import sys
from PyQt4 import QtCore, QtGui, QtWebKit
from PyQt4.QtGui import *
class Browser(QtGui.QMainWindow):
def __init__(self):
QtGui.QMainWindow.__init__(self)
self.resize(800,600)
self.setWindowTitle("My Quick And Dirty Web Browser")
#Create menu
mainMenu = self.menuBar()
mainMenu.setNativeMenuBar(False)
fileMenu = mainMenu.addMenu('&File')
#Add Exit
exitButton = QAction(QIcon('exit24.png'), 'Exit', self)
exitButton.setShortcut('Ctrl+Q')
exitButton.setStatusTip('Exit application')
exitButton.triggered.connect(self.close)
fileMenu.addAction(exitButton)
#Create Browser
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.reload = QtGui.QPushButton(self.frame)
self.bt_go = QtGui.QPushButton(self.frame)
self.bt_back.setIcon(QtGui.QIcon().fromTheme("go-previous"))
self.bt_ahead.setIcon(QtGui.QIcon().fromTheme("go-next"))
self.reload.setIcon(QtGui.QIcon().fromTheme("reload"))
self.bt_go.setIcon(QtGui.QIcon().fromTheme("arrow"))
self.horizontalLayout.addWidget(self.bt_back)
self.horizontalLayout.addWidget(self.bt_ahead)
self.horizontalLayout.addWidget(self.reload)
self.horizontalLayout.addWidget(self.tb_url)
self.horizontalLayout.addWidget(self.bt_go)
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.connect(self.reload, QtCore.SIGNAL("clicked()"), self.html.reload)
self.default_url = "https://www.google.com"
self.tb_url.setText(self.default_url)
#self.connect(self.bt_go, QtCore.SIGNAL("clicked()"), self.html.go)
self.browse()
def browse(self):
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_())
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment