En este capítulo del tutorial de Python 3 más PyQt5 veremos como crear un simple navegador web creando un objeto de la clase QWebView en el Designer de Qt, esta clase pertenece al módulo QtWebKit.
El navegador además de contener un objeto WebView también contendrá un campo de búsqueda (Line Edit) y un botón (QPush Putton) para retroceder en el historial.
Más información de la clase QWebView: http://pyqt.sourceforge.net/Docs/PyQt4/qwebview.html
Más información de la clase QWebView: http://pyqt.sourceforge.net/Docs/PyQt4/qwebview.html
- Crearemos un formulario Main Window con Designer al cual llamaremos webkit.ui
- Agregaremos un objeto QWebView al cual llamaremos navegador y en la propiedad url desactivar la url que viene por defecto haciendo click en el botón que se encuentra más a la derecha.
- Agregaremos un objeto Line Edit al cual llamaremos url
- Agregraremos un objeto Push Button al cual llamaremos btn_back y le incluiremos el texto "back"
- Agrupar los elementos en un Lay Out in a Grid
webkit.pyw
import sys from PyQt5.QtWidgets import QApplication, QMainWindow from PyQt5.QtCore import QUrl from PyQt5 import uic class Navegador(QMainWindow): def __init__(self): QMainWindow.__init__(self) uic.loadUi("webkit.ui", self) #url por defecto default_url = "http://google.com" #Navegar a la url por defecto self.navegador.setUrl(QUrl(default_url)) #Agregar al buscador la url por defecto self.url.setText(default_url) #Desactivar botón back hasta que no haya historial self.btn_back.setEnabled(False) #Retroceder a la página anterior self.btn_back.clicked.connect(self.navegador.back) self.url.returnPressed.connect(self.navegar) self.navegador.urlChanged.connect(self.url_changed) #Navegar a la url indicada en el buscador al pulsar la tecla enter def navegar(self): url = QUrl(self.url.text()) self.navegador.setUrl(url) #Detectar el cambio de url de navegación def url_changed(self): #Crear un objeto de la página para acceder al historial page = self.navegador.page() history = page.history() #Si hay historial activar el botón back if history.canGoBack(): self.btn_back.setEnabled(True) else: self.btn_back.setEnabled(False) #Agregar el cambio de url al campo de búsqueda url = self.navegador.url() self.url.setText(url.toString()) app = QApplication(sys.argv) navegador = Navegador() navegador.show() app.exec_()
No hay comentarios:
Publicar un comentario