最近写个工程的时候踩的大坑QAQ。。。
前言
看了一下上次的更新时间,2018-11-06。。。
这个Blog也算是荒了一阵子了(期末考啊我也很无奈啊。。。
然后在我的好友mnihyc骚扰劝说下,打算继续更新Blog。(虽然他的Blog这段时间内崩了一回,数据都没了
所以我也没啥好写的,就水一篇博客吧,嘻嘻。
正文
关于这个Python的桌面托盘上的事,某度上基本没啥资料。。。
其实我主要是因为Win10的气泡提醒看起来还不错,就懒得自己写个窗口了。
然后我就一直找气泡提醒。。。。。。结果找到了下面两个(可用的
1. 这是socrates大佬的,2012年更新的(还tm要依赖这个模块
1 | #!/usr/bin/env python |
这个我不知道能不能用(反正这个不是Python3的
不过好像用的也不是Win10下原汁原味的提示。。。
2.emmm我不知道扔哪里去了
至少这个可以用,是利用Python3调用winAPI
然后瞎搞搞。。。。(反正我是觉得太麻烦了啊
解决方案
最后,我想到了我的wxPython是不是有这样的功能
然后百度了一下
找到了这个j*玩意,居然是wxPython+winAPI的???
1 | import wx |
不过至少是实现了这一功能
但是英明的我怎么会满足于此呢?(我tm写个气泡提示就要这么长真的难受。。。。
于是我开开心心地Google了一下,居然还是没有????
但是,我在一篇用winAPI解决的Blog里看到了这个
有一个小需求希望在wx下建立的托盘区图标上显示气球消息,很尴尬的是wx.TaskBarIcon不像wx.Window等有GetHandle方法,无法直接获得句柄.解决的办法1.自己重写TaskBarIcon… 2.直接遍历找到句柄(更通用麻烦些).据说wxpython在2.9后会加一个wx.NotificationMessage方法,但是2.9….哪年月有动静呢?
哇这个wx.NotificationMessage
是个什么东西
然后看了看wxPython官网,都TM4.0.4了,你这什么LJ版本。
于是我终于在官方文档里找到了这个东西。。。
(居然还是wx.adv
模块里的。。。
调用方法简单来写就是
1 | wx.adv.NotificationMessage(title,message).Show() |
至少用一句话代替了上面那坨100+行的winAPI
具体方法的话请Click
后记
不过这个东西还是不能完美的实现这个功能,他在通知的时候就会在托盘里加一个Python的图标。。。
这个东西我也没啥好办法,将就用着吧,如果你有什么方法可以解决(别TM说winAPI),请email我!
(这个东西耗了我1个小时,我……QAQ