PyQt'da basit internet tarayıcı:
# -*- coding: utf-8 -*-
# Ege Öz
from PyQt4 import QtCore, QtGui
import os
try:
_fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
def _fromUtf8(s):
return s
try:
_encoding = QtGui.QApplication.UnicodeUTF8
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName(_fromUtf8("MainWindow"))
MainWindow.resize(910, 614)
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap(_fromUtf8("icon.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
MainWindow.setWindowIcon(icon)
self.centralwidget = QtGui.QWidget(MainWindow)
self.centralwidget.setObjectName(_fromUtf8("centralwidget"))
self.gridLayout = QtGui.QGridLayout(self.centralwidget)
self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
self.geri = QtGui.QPushButton(self.centralwidget)
self.geri.setText(_fromUtf8(""))
icon = QtGui.QIcon.fromTheme(_fromUtf8("back"))
self.geri.setIcon(icon)
self.geri.setObjectName(_fromUtf8("geri"))
self.gridLayout.addWidget(self.geri, 0, 0, 1, 1)
self.ileri = QtGui.QPushButton(self.centralwidget)
self.ileri.setText(_fromUtf8(""))
icon = QtGui.QIcon.fromTheme(_fromUtf8("forward"))
self.ileri.setIcon(icon)
self.ileri.setObjectName(_fromUtf8("ileri"))
self.gridLayout.addWidget(self.ileri, 0, 1, 1, 1)
self.adres = QtGui.QLineEdit(self.centralwidget)
self.adres.setObjectName(_fromUtf8("adres"))
self.gridLayout.addWidget(self.adres, 0, 2, 1, 1)
self.yenile = QtGui.QPushButton(self.centralwidget)
self.yenile.setText(_fromUtf8(""))
icon = QtGui.QIcon.fromTheme(_fromUtf8("gtk-refresh"))
self.yenile.setIcon(icon)
self.yenile.setObjectName(_fromUtf8("yenile"))
self.gridLayout.addWidget(self.yenile, 0, 3, 1, 1)
self.durdur = QtGui.QPushButton(self.centralwidget)
self.durdur.setText(_fromUtf8(""))
icon = QtGui.QIcon.fromTheme(_fromUtf8("process-stop"))
self.durdur.setIcon(icon)
self.durdur.setObjectName(_fromUtf8("durdur"))
self.gridLayout.addWidget(self.durdur, 0, 4, 1, 1)
self.git = QtGui.QPushButton(self.centralwidget)
self.git.setText(_fromUtf8(""))
icon = QtGui.QIcon.fromTheme(_fromUtf8("draw-arrow-forward"))
self.git.setIcon(icon)
self.git.setObjectName(_fromUtf8("git"))
self.gridLayout.addWidget(self.git, 0, 5, 1, 1)
self.ev = QtGui.QPushButton(self.centralwidget)
self.ev.setText(_fromUtf8(""))
icon = QtGui.QIcon.fromTheme(_fromUtf8("go-home"))
self.ev.setIcon(icon)
self.ev.setObjectName(_fromUtf8("ev"))
self.gridLayout.addWidget(self.ev, 0, 6, 1, 1)
self.arama = QtGui.QLineEdit(self.centralwidget)
self.arama.setObjectName(_fromUtf8("arama"))
self.gridLayout.addWidget(self.arama, 0, 7, 1, 1, QtCore.Qt.AlignRight)
self.ara = QtGui.QPushButton(self.centralwidget)
self.ara.setText(_fromUtf8(""))
icon = QtGui.QIcon.fromTheme(_fromUtf8("search"))
self.ara.setIcon(icon)
self.ara.setObjectName(_fromUtf8("ara"))
self.gridLayout.addWidget(self.ara, 0, 8, 1, 1)
self.webView = QtWebKit.QWebView(self.centralwidget)
self.webView.setUrl(QtCore.QUrl(_fromUtf8("about:blank")))
self.webView.setObjectName(_fromUtf8("webView"))
self.gridLayout.addWidget(self.webView, 1, 0, 1, 9)
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtGui.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 910, 21))
self.menubar.setObjectName(_fromUtf8("menubar"))
MainWindow.setMenuBar(self.menubar)
self.statusbar = QtGui.QStatusBar(MainWindow)
self.statusbar.setObjectName(_fromUtf8("statusbar"))
MainWindow.setStatusBar(self.statusbar)
QtCore.QObject.connect(self.adres, QtCore.SIGNAL(_fromUtf8("returnPressed()")),self.btn_git)
QtCore.QObject.connect(self.webView, QtCore.SIGNAL(_fromUtf8("loadStarted()")),self.wbconnectingg)
QtCore.QObject.connect(self.webView, QtCore.SIGNAL(_fromUtf8("loadFinished()")),self.wbconnectedd)
QtCore.QObject.connect(self.git, QtCore.SIGNAL(_fromUtf8("clicked()")), self.btn_git)
QtCore.QObject.connect(self.yenile, QtCore.SIGNAL(_fromUtf8("clicked()")), self.webView.reload)
QtCore.QObject.connect(self.durdur, QtCore.SIGNAL(_fromUtf8("clicked()")), self.webView.stop)
QtCore.QObject.connect(self.ara, QtCore.SIGNAL(_fromUtf8("clicked()")), self.btn_ara)
QtCore.QObject.connect(self.ev, QtCore.SIGNAL(_fromUtf8("clicked()")), self.ev_kaydet)
QtCore.QObject.connect(self.ileri, QtCore.SIGNAL(_fromUtf8("clicked()")),self.btn_ileri)
QtCore.QObject.connect(self.geri, QtCore.SIGNAL(_fromUtf8("clicked()")),self.btn_geri)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
self.webView.urlChanged.connect(lambda u: self.adres.setText(u.toString()))
def btn_ileri(self):
self.webView.forward()
def btn_geri(self):
self.webView.back()
def wbconnectingg(self):
self.statusbar.showMessage("Connecting to "+ self.adres.text())
def wbconnectedd(self):
self.statusbar.showMessage("Connected.")
def btn_git(self):
self.webView.setUrl(QtCore.QUrl(_fromUtf8("http://" + self.adres.text())))
def retranslateUi(self, MainWindow):
MainWindow.setWindowTitle(_translate("MainWindow", "PyBrowser", None))
def btn_ara(self):
self.webView.setUrl(QtCore.QUrl("http://www.google.com/search?hl=en&q="+self.arama.text()+ "&aq=f&oq="))
def ev_kaydet(self):
evdizini=os.getenv("USER")
yol="/home/"+evdizini+"/.pybrowser.config"
if not os.path.exists(yol):
f=open (yol,"w")
self.statusbar.showMessage("Home page setted: "+self.adres.text())
homepage=self.adres.text()
f.write(homepage)
f.close()
elif os.path.exists(yol):
f = open (yol,"r")
evv=f.read()
self.webView.setUrl(QtCore.QUrl(evv))
f.close()
from PyQt4 import QtWebKit
if __name__ == "__main__":
import sys
app = QtGui.QApplication(sys.argv)
MainWindow = QtGui.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())