[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