2012-11-05 34 views
-1

我是非常新的蟒蛇,我有多個選項,如1至99,我想選擇23作爲一個窗口後按f2我按2和3,然後按下輸入,號碼23被選中。我想在Ubuntu 10.04中做到這一點。什麼將程序?我很書面方式一些代碼在Python中處理多鍵?

def keyDown(self,e): 
    if e.keystring == "f2":     
     selectedNumber = 0 
    elif e.keystring == "enter": 
     print selectedNumber 
     selectedNumber =0 
    else: 
     selectedNumber +=int(e.keystring) 

在此先感謝

+2

'keydown'看起來像一個事件參數的回調。你在使用某種庫嗎?你應該在這裏列出,如果你是。 – Aesthete

+0

這當然不會工作,因爲選定號碼不會保存之間的通話和另一個self.selectedNumber可能會更好 –

回答

0

你可以保存所選號碼爲字符串,並進入被按下時數轉換爲int。需要更多的輸入驗證,但這應該給你的想法。

def keyDown(self,e): 
    if e.keystring == "f2":     
     selectedNumber = "" 
    elif e.keystring == "enter": 
     print int(selectedNumber) # If you are only printing you don't need int() 
     selectedNumber = "" 
    else: 
     selectedNumber += e.keystring 
+0

ohh我犯了錯誤,selectedNumber顯示未定義,即使我已經在類級別定義,但是當我使用self.selectedNumber selectedNumber它的工作。謝謝大家的回覆 '高清的keyDown(個體經營,E): 如果e.keystring == 「F2」: self.selectedNumber = 「」 ELIF e.keystring == 「輸入」: 打印INT(個體經營.selectedNumber) self.selectedNumber =「」 else: self.selectedNumber + = e.keystring' – Satyendra