[pyar] [PyQt] Mostra/ocultar menuBar

Dario Gabriel Acosta acostadariogabriel en gmail.com
Dom Mayo 25 22:28:02 ART 2014


Fernando. Lo que hice fue:


self.atajoOcultarMenu = QShortcut(

ATAJOS['ocultar-menu'], self.app)


luego la conexión:

self.connect(self.atajoOcultarMenu, SIGNAL("activated()"),

self.ocultar_mostrar_menu)

self.accionMostrarOcultar_menu.setCheckable(True)

self.accionMostrarOcultar_menu = menu_ver.addAction(

self.trUtf8("Mostrar/Ocultar Menu"))

self.connect(self.accionMostrarOcultar_menu, SIGNAL("triggered()"),

self.ocultar_mostrar_menu)

self.accionMostrarOcultar_menu.setChecked(True)


Funciona, pero, está bien eso? Por que tuve que hacer todo eso para cada
QAction.


Sebastián. Aveces utilizo una forma o la otra, mi duda es por ejemplo:


self.connect(widget, SIGNAL("triggered(int)"), self.metodo)


¿ Cómo hago con el parámetro int en la forma
self.widget.triggered.connect(self.metodo) ?

 Saludos!.

> 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.
>>
>>     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)
>
>
>
>
>
> _______________________________________________
> 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
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20140525/7e620e74/attachment.html>


More information about the pyar mailing list