2016-06-19 7 views
0

У меня есть табличный виджет, где пользователь должен вводить числовые значения - пользователь не может вводить текст.Как читать и получать значения из QTableWidget с помощью python?

Затем я хотел бы прочитать и сохранить эти значения в списке.

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() 

 Смежные вопросы

  • Нет связанных вопросов^_^