[pyar] [PyQt] Mostra/ocultar menuBar
Dario Gabriel Acosta
acostadariogabriel en gmail.com
Lun Mayo 26 20:59:36 ART 2014
Si si ya lo modularice y quedó joya, gracias Fernando y Sebastián.
Saludos!
El 26 de mayo de 2014, 16:26, Fernando Pelliccioni
<fpelliccioni en gmail.com>escribió:
>
>
>
> 2014-05-25 22:28 GMT-03:00 Dario Gabriel Acosta <
> acostadariogabriel en gmail.com>:
>
> 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.
>>
>
> Sí, creo que está bien. Creo que no te queda otra.
> Es un garrón, así que te conviene modularizarlo para evitar repetir
> siempre el mismo pedazo de código.
>
>
>>
>> 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
>>
>> _______________________________________________
>> 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
>
--
Gabo
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20140526/59b0c21f/attachment.html>
More information about the pyar
mailing list