2016-09-07 5 views
0

Ich habe den folgenden Code - der durch eine Taste gestartet wird - sagen Taste1, die jede Sekunde passieren muss - durch einen Thread.WXPYTHON - Taste drücken Ereignis

self.pump_rpm_text_control.AppendText(str(self.sheet_num.cell_value(self.sel+1,10)*(SortAndDecode(self.data, 'FrqQ5'))/65536))` 

Das Problem, das ich bin vor hier ist - die „self.sel“ wird aus einer Excel-Tabelle aufgezeichnet - wenn eine Auswahl aus einer Excel-Tabelle geschieht.

So entschied ich mich ein, wenn die Bedingung, so etwas zu schreiben:

 if not self.OnList(): 
      self.pump_rpm_text_control.AppendText("000") 
     else: 
      self.sheet_num.cell_value(self.sel + 1, 10) 
      self.pump_rpm_text_control.AppendText(str(self.sheet_num.cell_value(self.sel+1,10)*(SortAndDecode(self.data, 'FrqQ5'))/65536)) 

OnList - ist das Ereignis, wenn eine Auswahl aufgerufen wird, wird auf einem listbox gemacht. Aber mein Code geht immer noch zu ELSE, obwohl mein OnLIST Event nicht passiert ist. Jede Hilfe würde sehr geschätzt werden.

+0

in 'if' Sie Funktion laufen' OnList() '- es prüft nicht, ob Ereignis passiert ist. Wir wissen nicht, welchen Wert OnList() 'zurückgibt. – furas

Antwort

0

In der gleichen Weise, wie dieser Code dem Pfad else folgt?

>>> def Onlist(): 
...  return True 
... 
>>> if not Onlist(): 
...  print False 
... else: 
...  print True 
... 
True 

Es hängt alles davon ab, welchen Wert Onlist kehrt als furas kommentiert