[pyar] error desde una clase que llama a otra

Roberto Alsina ralsina en netmanagers.com.ar
Mar Mayo 29 09:48:36 ART 2012


On 05/29/2012 08:54 AM, Fernando Gonzalez wrote:
> El 28/05/2012 22:24, Roberto Alsina escribió:
>> On 05/28/2012 10:15 PM, Fernando Gonzalez wrote:
>>> El 28/05/2012 21:41, Roberto Alsina escribió:
>>>> On 05/28/2012 09:39 PM, Fernando Gonzalez wrote:
>>>>> El 28/05/2012 16:13, Roberto Alsina escribió:
>>>>>> On 05/28/2012 04:11 PM, Fernando Gonzalez wrote:
>>>>>>>
>>>>>>> Por lo que entiendo, me dice q falta un argumento en SIGNAL(), pero
>>>>>>> clicked() no tiene argumento, o si, alguien se da una idea cual
>>>>>>> es el
>>>>>>> error
>>>>>>
>>>>>> No uses esa sintaxis de conexión, usá la nueva, que es muuuuuucho más
>>>>>> linda:
>>>>>>
>>>>>> self.cmdBusca.clicked.connect(self.BuscarCliente)
>>>>>>
>>>>> bien, esta sintaxis funciono, muchas gracias Roberto, ahora el
>>>>> problema
>>>>> que la SIGNAL "DatoValido" que genera la clase hija, cuando es
>>>>> atendida
>>>>> por la clase llamadora genera un bucle recursivo y no entiendo por
>>>>> que,
>>>>> alguna idea?
>>>>
>>>> Sin ver código? No, ninguna!
>>>>
>>>> Ok, bueno, una: es muy probable que hayas conectado clicked a algo que
>>>> vuelve a generar la misma señal.
>>>> _______________________________________________
>>>> pyar mailing list pyar en python.org.ar
>>>> http://listas.python.org.ar/listinfo/pyar
>>>>
>>>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>>>
>>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>>>> Argentina - http://www.usla.org.ar
>>>>
>>>>
>>> ok perdon, resumo un poco, clase llamadora
>>
>> [snip]
>>
>> Es mas fácil si podés hacer un programita con un ejemplo, en vez de
>> poner montones de fragmentitos. A las 10:30 PM, la verdad, no lo pude
>> seguir bien.
>>
>> Igual, en principio, nada de lo que mostrás "hace recursivo" a nada.
>> Como sabés que hace un bucle recursivo?
>>
> Hola es recursivo por el mensaje de error en la consola, creo que lo
> genera la línea cBusq.exec_(), la llamo asi para que cBusq sea modal,
> por que si la llamo:

No entiendo. Tenés muchas llamadas a exec_()?

> cBusq.show(), se abre pero no permanece en la pantalla, se abre y se
> cierra, sigo buscando como abrir un QDialog en forma modal.

Para abrir un diálogo en forma modal, se usa exec_ o show() con 
setModal(True).

El chiste es que en tu programa, si usas show(), inmediatamente estás 
perdiendo la referencia al QDialog, y se borra el objeto, entonces se 
cierra.

Si no querés que pase eso, necesitás guardar la referencia en alguna parte.



More information about the pyar mailing list