【发布时间】:2013-07-02 20:41:48
【问题描述】:
我正在创建一个小脚本,用于检查我的 gmail 帐户中的邮件数量并将它们打印在 状态栏。函数 gmail() 返回新电子邮件的数量。我有几个问题,但首先这是我到目前为止写的代码(显然我是新手):
class MyApplicationAppDelegate(NSObject):
var = 1
def applicationDidFinishLaunching_(self, sender):
NSLog("Application did finish launching.")
global ngmail
self.statusItem = NSStatusBar.systemStatusBar().statusItemWithLength_(NSVariableStatusItemLength)
while var == 1 :
ngmail2 = gmail();
if ngmail2 !=ngmail:
self.statusItem.setTitle_("loading")
self.statusItem.setTitle_(ngmail2)
ngmail = ngmail2
time.sleep(6)
1) 为什么我需要 "self.statusItem.setTitle_("loading")" 行?没有那条线,它不会自我更新。我真的不知道为什么。
2) 它运行正常,但每当我接近状态栏中的数字时,就会出现纺车。
我想原因是因为我正在使用 while,而我应该使用类似 nsrunloop 或类似的东西。有人可以就此提出建议吗?
3) 如果我让我的 mac 进入睡眠状态并唤醒它,脚本将停止工作。有什么解决办法吗?也许这与上面的问题2)有关。
谢谢!
【问题讨论】:
标签: python cocoa statusbar nsrunloop