我最近升级到了wxPython(wxPython 2.9.2.4)的开发版本,因为我需要在我的应用程序中使用wx.NotificationMessage的功能.由于我认为可能存在错误,我一直试图在某些用户事件上创建通知气泡失败.在提交此类错误之前,我想继续向邮件列表的人员询问他们认为可能存在的问题,并希望在我的代码中找到解决方案.
这是我用过的代码:
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()
Run Code Online (Sandbox Code Playgroud)
在我的Windows 7计算机上,代码会创建一个小的白色任务栏图标,并创建一个带有短语"Hello World!"的弹出窗口.问题?消息不在我的图标上.正在创建另一个图标,并将消息放在那里.见图:http://www.pasteall.org/pic/18068">
我认为这可能是因为我在第22行没有传递父参数:
wx.NotificationMessage("", "Hello world!").Show()
Run Code Online (Sandbox Code Playgroud)
以下是我将其更改为:
wx.NotificationMessage("", "Hello world!", self).Show()
Run Code Online (Sandbox Code Playgroud)
"self"指的是任务栏图标.当我这样做时,我收到一个错误:
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 …Run Code Online (Sandbox Code Playgroud)