[pyar] QtTableWidget + focusOutEvent (Fernando Gonzalez)

Fernando Gonzalez fagonzalez en gmail.com
Sab Oct 26 14:35:04 -03 2019


ok lo voy a probar

Thanks again

un abrazo

Fer

El sáb., 26 oct. 2019 a las 9:15, Cristhian Martin
(<cristhian en linuxar.com>) escribió:
>
> Fernando, buenos días, por si te interesa te envío como resolví el tema del foco en los QTableWidget
>
>
>
> Defino un eventFilter en la clase que hereda de la ventana y tiene programada toda la lógica de esta forma
>
>
>
> def eventFilter(self, QObject, QEvent):
> if isinstance(QObject, QtGui.QTableWidget):
> if QEvent.type() == QEvent.FocusOut:
> print('Salgo de la grilla')
> elif QEvent.type() == QEvent.FocusIn:
> print('Entro a la grilla')
> return super(cod_libro_iva, self).eventFilter(QObject, QEvent)
>
>
>
>
>
>
>
> y luego la instalo en el __init__ de la siguiente forma
>
>
>
> self.ui.tableWidget.installEventFilter(self)
>
>
>
>
>
>
>
> De esta forma el código queda todo en el mismo lugar y no necesito modificar el .py que me genera el pyuic4.
>
>
>
> Espero te sea de ayuda y gracias nuevamente por tu colaboracion.
>
>
>
> Saludos Cordiales
>
>
>
> Cristhian Martin
>
>
>
>
>
>
>
> El Vie 25 Oct 2019 10:54:50 pyar-request en python.org.ar escribió:
>
> > Envíe los mensajes para la lista pyar a
>
> > pyar en python.org.ar
>
> >
>
> > Para subscribirse o anular su subscripción a través de la WEB
>
> > http://listas.python.org.ar/listinfo/pyar
>
> >
>
> > O por correo electrónico, enviando un mensaje con el texto "help" en
>
> > el asunto (subject) o en el cuerpo a:
>
> > pyar-request en python.org.ar
>
> >
>
> > Puede contactar con el responsable de la lista escribiendo a:
>
> > pyar-owner en python.org.ar
>
> >
>
> > Si responde a algún contenido de este mensaje, por favor, edite la
>
> > linea del asunto (subject) para que el texto sea mas especifico que:
>
> > "Re: Contents of pyar digest...". Además, por favor, incluya en la
>
> > respuesta sólo aquellas partes del mensaje a las que está
>
> > respondiendo.
>
> >
>
> >
>
> > Asuntos del día:
>
> >
>
> > 1. Re: QtTableWidget + focusOutEvent (Fernando Gonzalez)
>
> > 2. Puzzler de Python (Agustin Barto)
>
> >
>
> >
>
> > ----------------------------------------------------------------------
>
> >
>
> > Message: 1
>
> > Date: Thu, 24 Oct 2019 15:55:35 -0300
>
> > From: Fernando Gonzalez <fagonzalez en gmail.com>
>
> > To: Python Argentina <pyar en python.org.ar>
>
> > Subject: Re: [pyar] QtTableWidget + focusOutEvent
>
> > Message-ID:
>
> > <CACPukSWaoXL4Tx+B=-U-SGdK285hNeY+9CD+2VffHSw79kpeAg en mail.gmail.com>
>
> > Content-Type: text/plain; charset="UTF-8"
>
> >
>
> > Hola cuando necesite capturar un evento (returnPressed) del
>
> > QTableWidget, tuve que crear una clase nueva basada en QTableWidget,
>
> > tal como vos hiciste, pero la única manera que me funciono, fue cuando
>
> > edito el .py que genera en pyuic4, agrego en la seccion import la
>
> > nueva clase, y en el fuente reemplazo
>
> >
>
> > .
>
> > .
>
> > self.tbwdetalle = QTableWidget(...... por self.tbwdetalle
>
> > = CellReturnPress(... (asi nombre la nueva clase, original no?)
>
> >
>
> > y probe de todas las formas que se me ocurrio, ya se que no hay que
>
> > ovidarse de editar el .py, a veces me olvido y me puteo a mi mismo
>
> >
>
> > un abrazo
>
> >
>
> > Fer
>
> >
>
> > El jue., 24 oct. 2019 a las 12:04, Cristhian Martin
>
> >
>
> > (<cristhian en linuxar.com>) escribió:
>
> > > Buenos días, estoy intentando capturar el evento focusOut de un
>
> > > QTableWidget, la verdad es que nunca trabaje con eventos en un widget en
>
> > > particular salvo el MainWindow, lo estoy tratando de hacer por lo que
>
> > > pude encontrar googleando con una implementación de una subclase pero no
>
> > > estoy logrando resultado alguno, si alguien lo utilizo y me puede dar una
>
> > > mano se lo agradezco.
>
> > >
>
> > > La implementacion de la clase la tengo hecha de la siguiente manera
>
> > >
>
> > > class MyTableWidget(QtGui.QTableWidget):
>
> > > def __init__(self):
>
> > > super(MyTableWidget, self).__init__()
>
> > >
>
> > > def focusOutEvent(self, QFocusEvent):
>
> > > print('NNNNNNNNNNNNNNNN')
>
> > > return QtGui.QTableWidget.focusOutEvent()
>
> > >
>
> > > y la llamo de la siguiente forma, cuando cargo el form
>
> > >
>
> > > def __init__(self, permisos, usuario_log):
>
> > > super(cod_libro_iva, self).__init__()
>
> > > self.ui = Ui_Form()
>
> > > self.ui.setupUi(self)
>
> > > self.ui.tableWidget = MyTableWidget()
>
> > >
>
> > > La verdad es que hasta aquí llegue haciendo distintas pruebas y se me
>
> > > están
>
> > > quemando los papeles.
>
> > >
>
> > > Agradezco cualquier sugerencia.
>
> > >
>
> > > Saludos Cordiales
>
> > > _______________________________________________
>
> > > Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
>
> > > Sitio web: http://www.python.org.ar/
>
> > >
>
> > > Para administrar la lista (o desuscribirse) entrar a
>
> > > http://listas.python.org.ar/listinfo/pyar
>
> > >
>
> > > La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>
> > > Argentina - http://www.usla.org.ar
>
> > ------------------------------
>
> >
>
> > Message: 2
>
> > Date: Fri, 25 Oct 2019 10:56:41 -0300
>
> > From: Agustin Barto <abarto en gmail.com>
>
> > To: Python Argentina <pyar en python.org.ar>
>
> > Subject: [pyar] Puzzler de Python
>
> > Message-ID:
>
> > <CADya715WEms85iC9T+WStC_kLXvNqtNKQn3fjnVR8_qp7EqYuA en mail.gmail.com>
>
> > Content-Type: text/plain; charset="utf-8"
>
> >
>
> > Estimadxs:
>
> >
>
> > Mientras estaba tratando de resolver un problema en el trabajo me encontré
>
> > con una salida que no esperaba. Investigando la raiz del problema, me
>
> > encontré con una curiosidad que destilé en el siguiente ejemplo.
>
> >
>
> > La salida muestra la proyección de la lista de diccionarios sobre el campo
>
> > "b" en lugar de "a". La solución es cambiar los generadores por listas en
>
> > la definición de "t", pero no me queda muy claro porque funciona mal con
>
> > generadores.
>
> >
>
> > [image: Screenshot_2019-10-25 Untitled - Jupyter Notebook.png]
>
> > ------------ próxima parte ------------
>
> > Se ha borrado un adjunto en formato HTML...
>
> > URL:
>
> > <http://listas.python.org.ar/pipermail/pyar/attachments/20191025/7e365087/a
>
> > ttachment.html> ------------ próxima parte ------------
>
> > A non-text attachment was scrubbed...
>
> > Name: Screenshot_2019-10-25 Untitled - Jupyter Notebook.png
>
> > Type: image/png
>
> > Size: 50397 bytes
>
> > Desc: no disponible
>
> > URL:
>
> > <http://listas.python.org.ar/pipermail/pyar/attachments/20191025/7e365087/a
>
> > ttachment.png>
>
> >
>
> > ------------------------------
>
> >
>
> > Subject: Pié de página del digest
>
> >
>
> > _______________________________________________
>
> > 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/
>
> >
>
> >
>
> > ------------------------------
>
> >
>
> > Fin de Resumen de pyar, Vol 116, Envío 39
>
> > ******************************************
>
>
>
> _______________________________________________
> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
> Sitio web: http://www.python.org.ar/
>
> Para administrar la lista (o desuscribirse) entrar a http://listas.python.org.ar/listinfo/pyar
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de Argentina - http://www.usla.org.ar


Más información sobre la lista de distribución pyar