[Python-es] Pyqt error con QtCore.SIGNAL (slot argument type)
Rafael Antonio Laverde
leafar91 en gmail.com
Sab Feb 26 18:39:27 CET 2011
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
--
さようなら
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20110226/b9401ec1/attachment.html>
Más información sobre la lista de distribución Python-es