[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