elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [SOLUCIONADO]WebKit Python PyQt4
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [SOLUCIONADO]WebKit Python PyQt4  (Leído 2,954 veces)
n1co

Desconectado Desconectado

Mensajes: 15


Ver Perfil
[SOLUCIONADO]WebKit Python PyQt4
« en: 28 Febrero 2011, 20:02 pm »


Hola a todos. Tengo un problemita, quiero hacer una app que pueda cargar varias paginas, la idea es que cargue una pagina en esta ventana de webkit, y al pasar un tiempo determinado por ejemplo 5 min o 10 seg lo que sea, cargue otra, el problema es que si yo hago un metodo que cargue varias paginas, solo veo cargarse la ultima que pongo, no las anteriores, esto me suena a un problema de eventos pero no he encontrado la info que necesito en internet. Espero que alguien me pueda ayudar, dejo el codigo aquí.

Muchas gracias



Código
  1. # -*- coding: utf-8 -*-
  2. import sys
  3.  
  4. from PyQt4 import QtCore, QtGui, QtWebKit
  5. from httpWidget import Ui_HttpWidget
  6.  
  7. class httpWidget(QtGui.QWidget):
  8. def __init__(self, parent=None):
  9. super(httpWidget, self).__init__(parent)
  10. self.ui = Ui_HttpWidget()
  11. self.ui.setupUi(self)
  12.  
  13. # set margins
  14. l = self.layout()
  15. l.setMargin(0)
  16. self.ui.horizontalLayout.setMargin(5)
  17.  
  18. # set the default
  19. url = 'http://localhost:8080'
  20. self.ui.url.setText(url)
  21.  
  22. # load page
  23. self.ui.webView.setUrl(QtCore.QUrl(url))
  24.  
  25. # history buttons:
  26. self.ui.back.setEnabled(False)
  27. self.ui.next.setEnabled(False)
  28.  
  29. QtCore.QObject.connect(self.ui.back,QtCore.SIGNAL("clicked()"), self.back)
  30. QtCore.QObject.connect(self.ui.next,QtCore.SIGNAL("clicked()"), self.next)
  31. QtCore.QObject.connect(self.ui.url,QtCore.SIGNAL("returnPressed()"), self.url_changed)
  32. QtCore.QObject.connect(self.ui.webView,QtCore.SIGNAL("linkClicked (const QUrl&)"), self.link_clicked)
  33. QtCore.QObject.connect(self.ui.webView,QtCore.SIGNAL("urlChanged (const QUrl&)"), self.link_clicked)
  34. QtCore.QObject.connect(self.ui.webView,QtCore.SIGNAL("loadProgress (int)"), self.load_progress)
  35. QtCore.QObject.connect(self.ui.webView,QtCore.SIGNAL("titleChanged (const QString&)"), self.title_changed)
  36. QtCore.QObject.connect(self.ui.reload,QtCore.SIGNAL("clicked()"), self.reload_page)
  37. QtCore.QObject.connect(self.ui.stop,QtCore.SIGNAL("clicked()"), self.stop_page)
  38.  
  39. QtCore.QMetaObject.connectSlotsByName(self)
  40.  
  41. def url_changed(self):
  42. """
  43. Url have been changed by user
  44. """
  45. page = self.ui.webView.page()
  46. history = page.history()
  47. if history.canGoBack():
  48. self.ui.back.setEnabled(True)
  49. else:
  50. self.ui.back.setEnabled(False)
  51. if history.canGoForward():
  52. self.ui.next.setEnabled(True)
  53. else:
  54. self.ui.next.setEnabled(False)
  55.  
  56. url = self.ui.url.text()
  57. self.ui.webView.setUrl(QtCore.QUrl(url))
  58.  
  59. def stop_page(self):
  60. """
  61. Stop loading the page
  62. """
  63. self.ui.webView.stop()
  64.  
  65. def title_changed(self, title):
  66. """
  67. Web page title changed - change the tab name
  68. """
  69. self.setWindowTitle(title)
  70.  
  71. def reload_page(self):
  72. """
  73. Reload the web page
  74. """
  75. self.ui.webView.setUrl(QtCore.QUrl(self.ui.url.text()))
  76.  
  77. def link_clicked(self, url):
  78. """
  79. Update the URL if a link on a web page is clicked
  80. """
  81. page = self.ui.webView.page()
  82. history = page.history()
  83. if history.canGoBack():
  84. self.ui.back.setEnabled(True)
  85. else:
  86. self.ui.back.setEnabled(False)
  87. if history.canGoForward():
  88. self.ui.next.setEnabled(True)
  89. else:
  90. self.ui.next.setEnabled(False)
  91.  
  92. self.ui.url.setText(url.toString())
  93.  
  94. def load_progress(self, load):
  95. """
  96. Page load progress
  97. """
  98. if load == 100:
  99. self.ui.stop.setEnabled(False)
  100. else:
  101. self.ui.stop.setEnabled(True)
  102.  
  103. def back(self):
  104. """
  105. Back button clicked, go one page back
  106. """
  107. page = self.ui.webView.page()
  108. history = page.history()
  109. history.back()
  110. if history.canGoBack():
  111. self.ui.back.setEnabled(True)
  112. else:
  113. self.ui.back.setEnabled(False)
  114.  
  115. def next(self):
  116. """
  117. Next button clicked, go to next page
  118. """
  119. page = self.ui.webView.page()
  120. history = page.history()
  121. history.forward()
  122. if history.canGoForward():
  123. self.ui.next.setEnabled(True)
  124. else:
  125. self.ui.next.setEnabled(False)
  126.  
  127. if __name__ == "__main__":
  128. app = QtGui.QApplication(sys.argv)
  129. myapp = httpWidget()
  130. myapp.show()
  131. sys.exit(app.exec_())
  132.  


« Última modificación: 5 Marzo 2011, 15:16 pm por n1co » En línea

n1co

Desconectado Desconectado

Mensajes: 15


Ver Perfil
Re: [SOLUCIONADO]WebKit Python PyQt4
« Respuesta #1 en: 5 Marzo 2011, 15:19 pm »

La solucion: http://code.google.com/p/spynner/


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Python]Struct en Python? (SOLUCIONADO)
Scripting
EvilGoblin 3 8,237 Último mensaje 20 Noviembre 2010, 03:12 am
por flacc
[Python]Problema con QPushButton (PyQt4)
Scripting
[u]nsigned 0 2,137 Último mensaje 5 Junio 2012, 21:24 pm
por [u]nsigned
Como evito que python muestre el CMD al ejecutar un script con pyQT4?
Scripting
Synth3tik0 2 3,125 Último mensaje 16 Enero 2013, 19:54 pm
por 0x5d
[Solucionado]Programa en PyQt4 en modo Pantalla completa
Scripting
fortil 1 2,385 Último mensaje 31 Marzo 2013, 05:17 am
por fortil
Error al compilar codigo python 3.4 a exe con pyqt4 y cx_freeze
Programación General
guido0671 0 2,725 Último mensaje 6 Agosto 2014, 19:00 pm
por guido0671
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines