Re: [pyar] A_Python_Web_Browser_in_25_lines_of_code

Página superior
Adjuntos:
+ (text/plain)
+ navegador.py (text/x-python)
+ untitled.ui (application/x-designer)
+ (text/plain)

Responder a este mensaje
Autor: Roberto Alsina
Fecha:  
A: pyar
Asunto: Re: [pyar] A_Python_Web_Browser_in_25_lines_of_code
On Tuesday 17 November 2009 21:24:38 Juanjo Conti wrote:
> Estoy queriendo hacer un pequeño programa para marcar información en
> una página web (seleccionándola, por ej), procensarla y guardarla (en
> principio, simplemente en un archivo de texto). Para esto lo primero
> que necesito es un navegador web escrito en Python.


Ah, pero eso es fácil :-)

Te adjunto uno!

Screenshot: http://imagebin.ca/view/RY78IQQe.html

Manual: escribí la URL, apretá enter y esperá ;-)

Líneas de código (hechas a mano): 4

def setUrl():
print 'URL:',str(ui.lineEdit.text())
ui.webView.load(QtCore.QUrl(ui.lineEdit.text()))

ui.lineEdit.returnPressed.connect(setUrl)

Costo estimado según sloccount: U$S 944

Para que quede en un solo archivo edité un generado, lo cual es muy mala
práctica.

Con 15 minutos de laburo podés hacerlo bastante más bonito ;-)

-- 
 ("\''/").__..-''"`-. .         Roberto Alsina
 `9_ 9  )   `-. (    ).`-._.`)  KDE Developer (MFCH)
 (_Y_.)' ._   ) `._`.  " -.-'  http://lateral.netmanagers.com.ar 
  _..`-'_..-_/ /-'_.'     The 6,855th most popular site of Slovenia   
(l)-'' ((i).' ((!.'       according to alexa.com (27/5/2007) 

# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'untitled.ui'
#
# Created: Tue Nov 17 22:09:26 2009
# by: PyQt4 UI code generator 4.6.1
#
# WARNING! All changes made in this file will be lost!

from PyQt4 import QtCore, QtGui

class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(800, 600)
self.centralwidget = QtGui.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.verticalLayout = QtGui.QVBoxLayout(self.centralwidget)
self.verticalLayout.setObjectName("verticalLayout")
self.lineEdit = QtGui.QLineEdit(self.centralwidget)
self.lineEdit.setObjectName("lineEdit")
self.verticalLayout.addWidget(self.lineEdit)
self.webView = QtWebKit.QWebView(self.centralwidget)
self.webView.setUrl(QtCore.QUrl("about:blank"))
self.webView.setObjectName("webView")
self.verticalLayout.addWidget(self.webView)
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtGui.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 28))
self.menubar.setObjectName("menubar")
MainWindow.setMenuBar(self.menubar)
self.statusbar = QtGui.QStatusBar(MainWindow)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)

self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)

def retranslateUi(self, MainWindow):
MainWindow.setWindowTitle(QtGui.QApplication.translate("MainWindow", "MainWindow", None, QtGui.QApplication.UnicodeUTF8))

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()
def setUrl():
print 'URL:',str(ui.lineEdit.text())
ui.webView.load(QtCore.QUrl(ui.lineEdit.text()))

ui.lineEdit.returnPressed.connect(setUrl)
sys.exit(app.exec_())

---------------------------------------------------------------------
Para dar de baja la suscripcion, mande un mensaje a:
pyar-unsubscribe@???

Para obtener el resto de direcciones-comando, mande un mensaje a:
pyar-help@???

PyAr - Python Argentina - Sitio web: http://www.python.com.ar/