<br><br><div class="gmail_quote">El 26 de febrero de 2011 13:42, Andrey Antoukh <span dir="ltr">&lt;<a href="mailto:andsux@gmail.com">andsux@gmail.com</a>&gt;</span> escribió:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

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


Traceback (most recent call last):<br>
  File &quot;Implementacion_main_window.<div id=":94">py&quot;, line 276, in &lt;module&gt;<br>
    main()<br>
  File &quot;Implementacion_main_window.py&quot;, line 270, in main<br>
    vent = Ventana_principal()<br>
  File &quot;Implementacion_main_window.py&quot;, line 132, in __init__<br>
    self.initUI()<br>
  File &quot;Implementacion_main_window.py&quot;, line 173, in initUI<br>
<div class="im">    self.graf = Grafica()<br>
  File &quot;Implementacion_main_window.py&quot;, line 22, in __init__<br>
    self.initUI()<br>
  File &quot;Implementacion_main_window.py&quot;, line 30, in initUI<br>
</div>    int, QString, Transformacion, int)&quot;), self.graficar)<br>
TypeError: type &#39;Transformacion&#39; is not supported as a slot argument type<br><br>lo acabo de modificar quitando el qtCore.SIGNAL y en cambio llamando al metodo directamente:<br><br>elimine la linea 29, 30 y cambie la 249, 250 por<br>

<br>self.graf.recibir_y_graficar_gramaticas(self.linea, self.pasos, self.secuencia, self.transformacion, self.intervalo)<br><br></div>tambien elimine laconversion de la linea 262 y 49<br><br>parece funcionar.. pero no lo he probabado... porque los errores los da en el computador de mi profesor, en el mio funciona bien incluso como estaba al principio...<br>

<br>me podrían indicar cual es la forma de usar los slots (algunos enlaces), la verdad hace muy poco que empecé a programar con pyqt y no sabia que esta forma era obsoleta<br><br>..Saludos<br clear="all"><br>-- <br><font style="background-color:rgb(255, 255, 255)" size="4"><span lang="ja"><span style="color:rgb(0, 0, 0)" title="">さようなら</span></span></font><br>