Foros del Web » Programando para Internet » Python »

Modificar URL en QtWebkit desde una función Thread

Estas en el tema de Modificar URL en QtWebkit desde una función Thread en el foro de Python en Foros del Web. Hola, lea comento que tengo la siguiente duda; estoy haciendo un programa que necesita cargar paginas web desde una lista cada cierto tiempo mediante una ...
  #1 (permalink)  
Antiguo 08/06/2015, 14:06
 
Fecha de Ingreso: junio-2015
Mensajes: 1
Antigüedad: 9 años, 6 meses
Puntos: 0
Pregunta Modificar URL en QtWebkit desde una función Thread

Hola, lea comento que tengo la siguiente duda; estoy haciendo un programa que necesita cargar paginas web desde una lista cada cierto tiempo mediante una función Thread , por que un Thread? bueno, esa funcion debe revisar varias cosas que para este caso (la pregunta) no las voy a poner, jajaja.
Al momento de cargar una nueva url mediante el metodo Load() de QtWebkit me arroja este error:

Cita:
QObject: Cannot create children for a parent that is in a different thread.
les dejo mi codigo (reducido) para que me pueda ayudar a resolver este problema, de ante mano muchas gracias.

Código:
#!/usr/bin/env python
from PyQt4 import QtCore, QtGui, uic
from time import sleep
import threading
import os
import sys

local_dir = os.path.dirname(os.path.abspath(__file__))

form_class = uic.loadUiType(os.path.join(local_dir, 'gui.ui'))[0]
indice = -1

class Main(QtGui.QMainWindow, form_class):
	def __init__(self, parent=None):
		QtGui.QMainWindow.__init__(self, parent)
		self.setupUi(self)

def carga_banner(url):
	global window
	window.banner.load(QtCore.QUrl(url))

def carga_data():
	global indice
	indice += 1
	if indice > 2:
		indice = 0
	paginas = ['http://127.0.0.1/banner.html','http://127.0.0.1/banner1.html','http://127.0.0.1/banner2.html']
	carga_banner(paginas[indice])
	sleep(5)
	carga_data()

app = QtGui.QApplication(sys.argv)
window = Main(None)
window.show()
thread_data = threading.Thread(target=carga_data)
thread_data.setDaemon(True)
thread_data.start()
sys.exit(app.exec_())

Etiquetas: pyqt, threads, webkit
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:23.