2016-06-19 60 views
0

我有一個tablewidget,用戶應該輸入數值 - 用戶應該無法輸入文本。如何使用python讀取和獲取QTableWidget的值?

然後,我想閱讀並將這些值存儲在列表中。

mytable = self.dlg.tableWidget 
lista = [] 
listb = [] 
# i is always in range 4 in my code 
for i in range(4): 
    # j is always the length of the unique values list of a field of a qgis layer, 
    # selected by the user on a previous step 
    for j in range(un_values_len): 
     a_item = mytable.item(i, j) 
     a_name = str(a_item.text()) 
     lista.append(a_item) 
     listb.append(a_name) 


    print lista, listb 

當我運行代碼,我得到以下錯誤

「NoneType」對象有沒有屬性「文本」

+0

我們不能幫你,如果你不發表您的源代碼。請製作一個[最小,完整和可驗證示例](http://stackoverflow.com/help/mcve),最好是我們可以複製粘貼執行的東西。 – titusjan

回答

0

如果用戶通過像lineEdit一個小部件文本輸入到表格,你可能會這樣做,因爲你檢查它是否是數字,你必須通過cellWidget獲取文本,而不是項目。

試試這個:

a_name = mytable.cellWidget(i, j).currentText()