1

我做了它运行使用SysTrayIcon为什么这会运行两次?

即使你只是正常工作,每次检查一番时间的程序,它两次。我可以通过减少一半的机会来修复它,但这不是一个适当的修复方法。

from systray import SysTrayIcon 
from random import randint 


def shutprogram(SysTrayIcon): 
    something = getsomething() 
    while True: 
     if getsomething() != something : 
      something = getsomething() 
      if randint(0,100) <= 10: 
       print "STOP, HAMMER TIME!" 
       stopthis() 
      else: 
       print "You may pass" 

menu = (('Start', icon.next(), shutprogram),) 

SysTrayIcon(icon.next(),"Shut Program",menu) 
+1

每当你说'getsomething()','getsomething'函数被调用。也许你想用一个临时变量来避免这种情况。 – Blorgbeard

+0

但是getsomething()是一些不应该干扰if语句的其他函数。 –

+0

你在if语句中调用*(如果getsomething()!= something:')。然后如果结果是真的,你可以再次调用它:'something = getsomething()'。 – Blorgbeard

回答

0

哦,我得到了。当我尝试'取得某些东西'时,它不得不稍等一下,因为它有一些延迟,从而导致返回字符串,如'等待,获取信息'。