2016-11-10 111 views
0

地圖我要打電話與PyQt5的QTableWidget,特別PyQt5.QTableWidget.setItem一組參數的方法。的Python:用類方法需要參數

我有一個字符串的這份名單中,

row = ["a","b","c","d"] 

,我需要把每一個元素在表中的列,除了第一個。我試過的是

items = [ QTableWidgetItem(r) for r in row[1:] ] 
arguments = zip([rowNumber+1]*(len(row)-1), range(1,len(row)), items) 
putItem = lambda x:tableWidget.setItem(*x) 
import itertools 
itertools.starmap(putItem, arguments) 

我也嘗試過使用map和zip參數,但似乎沒有任何工作。我知道我可以在參數上做一個for循環,但我想要「更優雅」的地圖解決方案。

的主要問題是沒有信息顯示在表中,雖然沒有任何錯誤報告,也沒有報警,也沒有什麼。

謝謝!

+0

「似乎沒有任何工作」你得到一個錯誤?該表是否不包含條目?確切的問題是什麼? – 2016-11-10 15:32:04

+0

該表不包含條目,但未報告錯誤。我會在這個問題上加上這一點。 – oxio

回答

1

環路更優雅雖然不如簡潔,恕我直言。

當你創建一個發電機(如星圖),你必須使用它來執行代碼。例如,將其傳遞給list()

+0

謝謝!它工作,但我必須等待7分鐘才能接受答案。現在我必須解決行被移動的問題,但這不是答案的要點,非常感謝! – oxio

0

只爲它赫克,這裏寫這個代碼理智的方式:

for column, text in enumerate(row[1:], 1): 
    tableWidget.setItem(rowNumber + 1, column, QTableWidgetItem(text)) 
相關問題