Recientemente me actualicé a la versión de desarrollo de wxPython (wxPython 2.9.2.4) ya que necesitaba la funcionalidad de wx.NotificationMessage dentro de mi aplicación. He intentado sin éxito crear burbujas de notificación sobre ciertos eventos del usuario debido a algo que creo que podría ser un posible error. Antes de enviar dicha falla, quería seguir preguntando a la gente de la lista de correo cuál cree que podría ser el problema y con suerte encontrar una solución dentro de mi código.No se puede usar wx.NotificationMessage correctamente con wxPython
Este es el código que he utilizado: "Hello World!"
import wx, sys
app = wx.PySimpleApp()
class TestTaskBarIcon(wx.TaskBarIcon):
def __init__(self):
wx.TaskBarIcon.__init__(self)
# create a test icon
bmp = wx.EmptyBitmap(16, 16)
dc = wx.MemoryDC(bmp)
dc.SetBrush(wx.RED_BRUSH)
dc.Clear()
dc.SelectObject(wx.NullBitmap)
testicon = wx.EmptyIcon()
testicon.CopyFromBitmap(bmp)
self.SetIcon(testicon)
self.Bind(wx.EVT_TASKBAR_LEFT_UP, lambda e: (self.RemoveIcon(),sys.exit()))
wx.NotificationMessage("", "Hello world!").Show()
icon = TestTaskBarIcon()
app.MainLoop()
en el equipo Windows 7, el código crea un pequeño icono de la barra de tareas en blanco y crea una ventana emergente con la frase. ¿El problema? El mensaje no está en mi ícono. Se está creando otro ícono y el mensaje se está colocando allí. Ver esta imagen: http://www.pasteall.org/pic/18068" >
Lo que pensé fue que esto se debe probablemente al hecho de que yo haya pasado ningún parámetro padre en la línea 22:
wx.NotificationMessage("", "Hello world!").Show()
Esto es lo que lo cambié a:.
wx.NotificationMessage("", "Hello world!", self).Show()
Donde 'yo' se refiere al icono de la barra de tareas Cuando lo hago, me sale un error:
Traceback (most recent call last):
File "C:\Python27\testnotificationmessage.py", line 24, in <module>
icon = TestTaskBarIcon()
File "C:\Python27\testnotificationmessage.py", line 22, in __init__
wx.NotificationMessage("", "Hello world!", self).Show()
File "C:\Python27\lib\site-packages\wx-2.9.2-msw\wx\_misc.py", line 1213, in __init__
_misc_.NotificationMessage_swiginit(self,_misc_.new_NotificationMessage(*args))
TypeError: in method 'new_NotificationMessage', expected argument 3 of type 'wxWindow *'
¿Qué está pasando? Si elimino ese argumento, no obtengo mi resultado, si agrego el argumento, ¡aparece un error! ¿Cómo se supone que use wx.NotificationMessage con un wx.TaskBarIcon?
Por favor ayuda! Espero haber proporcionado suficientes detalles. ¡Comente si necesita más!
¿Has encontrado la documentación para 2.9.2.4? Estoy ciego o no tengo suerte ... – Fenikso