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

哦,我得到了。當我嘗試'取得某些東西'時,它不得不稍等一下,因爲它有一些延遲,從而導致返回字符串,如'等待,獲取信息'。