[pyar] [PyQt] Mostra/ocultar menuBar

Sebastián Seba ssebastianj en gmail.com
Dom Mayo 25 20:52:04 ART 2014


El 25 de mayo de 2014, 20:32, Fernando Pelliccioni
<fpelliccioni en gmail.com>escribió:

>
>
>
> 2014-05-24 22:14 GMT-03:00 Dario Gabriel Acosta <
> acostadariogabriel en gmail.com>:
>
>  Buenisimo! ya pude con eso. Muchas gracias Fernando.
>>
>>
> Joya!
> ¿Cómo lo solucionaste?
>
>
>> A todos los QAction les agregué shortcut's con setShortcut, es
>> conveniente hacerlo con QShortcut?.
>>
>>
> Perdón, no fui muy claro en mi email anterior...
> Me refería a que en vez de asociar un shortcut a un QAction, usando
> setShortcut, tendrías que usar un QShortcut que no esté asociado al
> MenuBar, ya que se va a ocultar, y al estar oculto no se te van a disparar
> los signals.
>
> Acá un ejemplo, pero en Qt (C++), te queda como ejercicio traducirlo a
> PyQt :)
>
>     shortcut = new QShortcut(Qt::CTRL + Qt::Key_F10, this);
>     shortcut->setContext(Qt::ApplicationShortcut);
>     QObject::connect(shortcut, SIGNAL(activated()), this,
> SLOT(ocultar_mostrar_menu()));
>
>
> Ojo! En este caso el shortcut es "global" a nivel de la aplicación. Podés
> hacer que sea "menos global" y asociarlo a la ventana donde esta tu MenuBar.
> Avisame si necesitas una mano traduciendo el código o cualquier otra cosa.
>
> Abrazo,
> Fernando.
>
>
>
>
>> Saludos.
>>
>>
>>> Hola Gabriel,
>>>
>>> La segunda vez no se ejecuta porque el QAction no es visible, mirá...
>>>
>>> "An action will be disabled when all widgets to which it is added (with
>>> QWidget::addAction()) are disabled or not visible. When an action is
>>> disabled, it is not possible to trigger it through its shortcut."
>>>
>>> http://qt-project.org/doc/qt-4.8/qaction.html
>>>
>>>  Vas a tener que usar un QShortcut para lograr lo que estás buscando.
>>>
>>> http://qt-project.org/doc/qt-4.8/qshortcut.html
>>>
>>>
>>> Ojo en el codigo de tu email escribiste: "addAccion" y "serShortcut".
>>> Imagino que en tu código original lo tenés bien.
>>>
>>> Saludos,
>>> Fernando.
>>>
>>>
>>> _______________________________________________
>>> 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
>>>
>>
>>
>>
>> --
>> Gabo
>>
>> _______________________________________________
>> 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
>

    self.connect(self.accionOcultarMenu, SIGNAL("triggered()"),
self.ocultar_mostrar_menu)

Si querés podrías escribir de manera más "pythonesca" lo anterior así:

    self.accionOcultarMenu.triggered.connect(self.ocultar_mostrar_menu)
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20140525/4e0845ce/attachment-0001.html>


More information about the pyar mailing list