Autor Tema: Mostrar descripcion sobre un boton. wxPython wx.Button SetToolTip  (Leído 4862 veces)

coquic

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 7
    • Ver Perfil
Hola gente, acudo nuevamente a uds por ayuda.

Lo que quiero hacer es sencillo o eso creo pero no se como, ahora les cuento.

Tengo botones en una aplicacion grafica que tengo funcionando hecha con wxPython, lo que quiero agregar es que cuando quede el mouse sobre un boton, aparezca la descripcion de lo que es, se entiende??

Por ejemplo, si tengo un boton que es para reproducir audio, cuando deje el mouse sobre este boton un momento, aparezca el cartelito que dice "Play" o "Reproducir", lo que sea.
Como pasa sobre las imagenes o botones en una web.

cualquier ayuda se agradece.

Saludos!!
« Última modificación: 13 de Septiembre 2014, 19:03 por Alex Rodríguez »

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2660
    • Ver Perfil
Re:Mostrar descripcion sobre un boton. wxPython
« Respuesta #1 en: 26 de Julio 2014, 23:17 »
Hola, hay una clase denominada ToolTip que te permite incorporar ese tipo de información. Puedes usar:

SetToolTip(self, tip)

SetToolTipString(self, tip)


Ejemplo de uso:

self.button_1.SetToolTipString ('Este es el botón 1')
self.button_2.SetToolTipString('Este es el botón 2')

Saludos.

coquic

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 7
    • Ver Perfil
Re:Mostrar descripcion sobre un boton. wxPython
« Respuesta #2 en: 27 de Julio 2014, 04:24 »
Hola, gracias por responder.

Me sale este error:

AttributeError: 'ToolBarToolBase' object has no attribute 'SetToolTipString'

Sabes que podrá ser??

Gracias.

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2660
    • Ver Perfil
Re:Mostrar descripcion sobre un boton. wxPython
« Respuesta #3 en: 27 de Julio 2014, 11:18 »
Es posible que no tengas definidos los botones como wx.Button

Mira este ejemplo cómo definen los botones:

Código: [Seleccionar]
=== example code

#!/usr/bin/env python
# -*- coding: iso-8859-1 -*-
# generated by wxGlade 0.5

import wx

class MyFrame( wx.Frame):
    def __init__(self, *args, **kwds):
        # begin wxGlade: MyFrame.__init__
        kwds["style"] = wx.DEFAULT_FRAME_STYLE
        wx.Frame.__init__(self, *args, **kwds)
        self.panel_1 = wx.Panel(self, -1)
       
        self.button_1 = wx.Button(self.panel_1, 1001, "Aqui boton 1")
        self.button_2 = wx.Button( self.panel_1, -1, "Aqui boton 2")

        self.button_1.SetToolTipString ('This is button 1')
        self.button_2.SetToolTipString('This is button 2')

        self.panel_1.Bind(wx.EVT_BUTTON, self.OnButton, self.button_1)
        self.button_2_state = 1

        self.__set_properties()
        self.__do_layout()
        # end wxGlade       
 
    def __set_properties(self):
        # begin wxGlade: MyFrame.__set_properties
        self.SetTitle("frame_1")
        # end wxGlade

    def __do_layout(self):
        # begin wxGlade: MyFrame.__do_layout
        sizer_1 = wx.BoxSizer(wx.VERTICAL)
        sizer_2 = wx.BoxSizer (wx.VERTICAL)
        sizer_2.Add(self.button_1, 0, wx.ALL, 20)
        sizer_2.Add(self.button_2, 0, wx.ALL, 20)
        self.panel_1.SetSizer (sizer_2)
        sizer_1.Add(self.panel_1, 1, wx.EXPAND, 0)
        self.SetSizer(sizer_1)
        sizer_1.Fit(self)
        self.Layout()
        # end wxGlade

# end of class MyFrame


class MyApp(wx.App):
    def OnInit(self):
        wx.InitAllImageHandlers()
        frame_1 = MyFrame(None, -1, "")
        self.SetTopWindow(frame_1)
        frame_1.Show()
        return 1

# end of class MyApp

if __name__ == "__main__":
    app = MyApp(0)
    app.MainLoop()

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".