[pyar] Actualizar QListWidget luego de cerrar QDialog.

Enrique Alejandro Villafañe villafane.enrique en gmail.com
Vie Jul 31 19:51:28 ART 2015


Y como accedo a los objetos (Widgets) del QDialogPadre desde el QDialogHijo?

Yo los inicializo asi

class QDialogPadre(QDialog):
    def __init__(self, parent):
        QDialog.__init__(self, parent)
#Aqui creo el QListWidget
        self.ListWidgetReceptores = QListWidget(self)
        self.ListWidgetReceptores.setGeometry(20,35,260,400)
        self.ListWidgetReceptores.show()

class QDialogHijo(QDialog):
    def __init__(self, parent):
        QDialog.__init__(self, parent)

#Como le envio una senal al widget del padre desde aqui? porque con
self.ListWidgetReceptores no me deja acceder desde el hijo. Agradezco mucho
su ayuda.

El 31 de julio de 2015, 18:03, Gabriel Acosta <acostadariogabriel en gmail.com>
escribió:

> Al botón lo podes conectar a más de un slot:
>
> boton.clicked.connect(self._agregar_a_db)
> boton.clicked.connect(self._actualizar_listwidget)
>
> Saludos!
>
> Gabriel Acosta
> http://centaurialpha.github.io
> On Jul 31, 2015 7:27 PM, "Enrique Alejandro Villafañe" <
> villafane.enrique en gmail.com> wrote:
>
>> Gracias por la respuesta. No soy muy experto y aparte estoy trabajando
>> con pyqt4.
>>
>> Cuando yo muestro el QDialog donde tngo el QListWidget en su init yo
>> busco en una base de datos el nombre de cada item y lo agrego a la lista.
>> En el caso del QDialog hijo, es para agregar uno nuevo, y yo al darle al
>> boton aceptar en ese QDialog hijo inserto en la base de datos un nuevo
>> item. hasta ahi todo perfecto, ahora, lo que no se y no se si asi debe ser
>> o si lo estoy pensando mal, es como conectar tambien ese boton de aceptar
>> que esta en el segundo QDialog, aparte de para agregar a la Base de Datos
>> el item, para que el QListWidget que esta en el QDialog padre, vuelva a
>> llamar a su funcion de pintar nuevamente los items.
>>
>> El 31 de julio de 2015, 16:45, Martin Alderete <malderete en gmail.com>
>> escribió:
>>
>>> Buenas!
>>> Como va?
>>>
>>> Se me ocurre que podrias emitir una signal onda "Hey acabo de agregar un
>>> item" (con sus datos) y el widget que necesita saber de eso se conecte a
>>> esa signal [1]
>>>
>>> El que emite la signal haria algo como:
>>> self.emit(SIGNAL("item_saved(PyQt_PyObject)", item_data)
>>>
>>> item_data seria algun objeto con los datos que queres pasar al que se
>>> contecte a la signal
>>>
>>> EL que se conecta a la signal haria algo como:
>>>
>>> self.connect(self._emisor, SIGNAL("item_saved(PyQt_PyObject)",
>>> self._update_view)
>>> es decir cuando  "self._emisor" emita la signal
>>> "item_saved(PyQt_PyObject)" se ejecuta "self._update_view"
>>>
>>> def _update_view(self, item_data):
>>>     # aca podes manipular item_data
>>>     # actualizas el QlistWidget, etc
>>>
>>>
>>> [1] http://doc.qt.io/qt-5/signalsandslots.html
>>>
>>> Espero se entienda y sirva,
>>>
>>> saludos!
>>>
>>>
>>>
>>> 2015-07-31 17:48 GMT-03:00 Enrique Alejandro Villafañe <
>>> villafane.enrique en gmail.com>:
>>>
>>>> El asunto es el siguiente, tengo una ventana QDialog, hija de otra
>>>> QDialog donde tengo un QlistWidget. Necesito que al agregar un nuevo item a
>>>> la base de datos que lo hago con la segunda ventana, se me actualice la
>>>> lista de el primer QDialog! Alguien tiene idea como hacerlo? Gracias
>>>>
>>>> --
>>>> Enrique A Villafañe
>>>>
>>>> *Telefonos de Contacto*
>>>>
>>>> Celular : +58 412 5151603
>>>> Oficina: +58 273 5325224 - +58 273 5321592 - +58 273 5325527
>>>>
>>>> _______________________________________________
>>>> 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
>>>>
>>>
>>>
>>>
>>> --
>>> Martin Alderete
>>>
>>> _______________________________________________
>>> 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
>>>
>>
>>
>>
>> --
>> Enrique A Villafañe
>>
>> *Telefonos de Contacto*
>>
>> Celular : +58 412 5151603
>> Oficina: +58 273 5325224 - +58 273 5321592 - +58 273 5325527
>>
>> _______________________________________________
>> 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
>>
>
> _______________________________________________
> 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
>



-- 
Enrique A Villafañe

*Telefonos de Contacto*

Celular : +58 412 5151603
Oficina: +58 273 5325224 - +58 273 5321592 - +58 273 5325527
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20150731/4c31b828/attachment.html>


More information about the pyar mailing list