2014-01-24 55 views
-1

我在選擇模式是「擴展」時檢索列表框選擇有問題。事實上,我的列表框項目是腳本,我必須能夠選擇多個腳本,我可以將這些腳本作爲參數傳遞給我的解釋器,他們的角色是依次運行這些腳本並給出結果。問題是,我所能做的一切僅在使用這種方法選擇一個腳本:檢索選擇列表框或選擇模式=擴展在tkinter python

def get_list(*event): 
que2.put_nowait(script) 
seltext = liste.get(index) 
script=seltext 
que2.put_nowait(script) 
def get_port(event) 
index = liste1.curselection()[0] 
seltext = liste1.get(index) 
nb_port=seltext[1] 
que1.put_nowait(nb_port) 
def call_interpreter1(): 
b=que2.get(block=True) 
a=que1.get(block=True) 
print "prameters are :" ,a ,b ,"\r\n" 
c='python C:\\workspace\\Project_Interpreter\\ValidationTool-v1.0.py -s %s %s'%(b,a) 
ps=sp.Popen(['cmd','/K',c],creationflags=0,shell=False,stdout=PIPE,stderr=sp.STDOUT,stdin=PIPE) 

與谷歌翻譯的翻譯

+1

英文請。 –

+0

hello, 我正在使用python tkinter,並且在selectmode擴展時遇到問題。實際上,我的列表包含腳本,當我選擇一個或多個腳本時,它將把我的選擇傳遞給解釋器,解釋器將一個接一個地運行這些腳本並返回運行結果。 所以我的問題是,我做了所有這一切,但只有一個選擇,我無法通過擴展選擇使用此方法: index = liste.curselection()[0] seltext = liste.get(index) script = seltext que2.put_nowait(script) – Ibrahim

+0

您沒有足夠的代碼來幫助我們。例如,你如何計算上述代碼片段中的'index'? –

回答

1

爲了得到選擇,調用一個列表框curselection方法。此方法返回包含每個選定項目的索引的列表。然後,您可以使用get方法獲取該索引處的項目。

for index in liste1.curselelction: 
    item = liste1.get(index) 
    print index, ":", item 
+0

謝謝,這正是我所做的,但我忘了在代碼中提及它,我可以把但我的問題是使用que2.put_nowait(腳本)作爲參數一個接一個地傳遞項目。顯然,我必須使用線程,因爲我不能在同一時間啓動腳本,因爲它們共享相同的端口。問題是我無法知道啓動腳本的線程何時完成,因此我可以啓動另一個腳本。 – Ibrahim