El día 26 de febrero de 2011 18:39, Rafael Antonio Laverde <[email protected]> escribió: > Buenos días... > > Estoy realizando un pequeño programa en python con una iterfaz grafica en > pyqt > > he sobrescrito un objeto widget el cual realiza un pequeño dibujo, > dependiendo de un parámetros insertados en la interfaz > > y cuando se hace click en el boton de graficar emito la siguiente señal: > > self.graf.emit(QtCore.SIGNAL("recibir_y_graficar_datos(bool, int, QString, > Transformacion, int)"), self.linea, self.pasos, self.secuencia, > self.transformacion, self.intervalo) > > conectada al widget sobrescrito mediante: > > self.connect(self, QtCore.SIGNAL("recibir_y_graficar_datos(bool, int, > QString, Transformacion, int)"), self.graficar) > > ---Trasformacion es una clase que cree y que tiene como atributos un > diccionario de listas > > pero al ejecutarlo me da el siguiente error: > > TypeError: type 'Transformacion' is not supported as a slot argument type > > --mi duda es acerca de como puedo enviar objetos de clases propias mediante > QtCoreSignal, o como acceder desde el objeto graf a los atibutos de la > ventana > > la estructura es mas o menos la siguiente > > class Ventana_principal(QWidget, Main_window.Ui_main_window_form): > def __init__(self, *args): > self.transformacion = self.dic_transformaciones['ninguna'] #es un > diccionario donde estan guardadas las diferentes transformaciones > #otros atributos > self.graf = Grafica() > self.connect(self.graficar_pushButton, QtCore.SIGNAL('clicked()'), > self.enviar_valores) > > def enviar_valores(self): > > self.graf.emit(QtCore.SIGNAL("recibir_y_graficar_gramaticas(bool, int, > QString, Transformacion, int)"), self.linea, self.pasos, self.secuencia, > self.transformacion, self.intervalo) > > > class Grafica(QtGui.QWidget): > super(Grafica, self).__init__() > self.connect(self, QtCore.SIGNAL("recibir_y_graficar_gramaticas(bool, > int, QString, Transformacion, int)"), self.graficar) > > def graficar(self, linea, pasos, secuencia, transformacion, intervalo): > ###algunas operaciones > > ...Gracias > Hola. Si no me equivoco, estas usando la manera obsoleta de conectar signals con slots, yo de ti me leía la documentación de PyQt que lo explica bastante bien.
Igual los ejemplos que has pegado aquí, yo personalmente no me aclaro, seria de agradecer que pegaras el código completo de la parte que falla en un pastebin, y ademas incluyeras el traceback. Igual con estos datos sera mas fácil identificar el problema ademas de recomendarte que dejes de usar la manera obsoleta de conectar signals con slots. Un saludo. Andrei. -- http://twitter.com/andsux http://www.niwi.be **** http://www.freebsd.org/ http://www.postgresql.org/ http://www.python.org/ http://www.djangoproject.com/ "Linux is for people who hate Windows, BSD is for people who love UNIX" "Social Engineer -> Because there is no patch for human stupidity" _______________________________________________ Python-es mailing list [email protected] http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
