Добавить строку в качестве элемента к tableWidget в QT / Python - PullRequest
2 голосов
/ 12 августа 2011

У меня есть массив со строками, и я хочу добавить каждую строку в отдельную строку и один и тот же столбец tableWidget.

. Я использую функцию setItem, чтобы изменить нужное поле., но я получаю ошибку QTableWidget.setItem(int, int, QTableWidgetItem): argument 3 has unexpected type 'str'.Я немного искал, и я думаю, что я должен использовать функцию QTableWidgetItem ( здесь ), чтобы преобразовать строку в tableWidgetItem, однако я понятия не имею, как использовать эту функцию, ичто означает «тип» (целочисленное значение).

(конкретный) пример того, как использовать эту функцию для преобразования строки в tableWidgetItem, был бы очень полезен.

Пока мойкод выглядит следующим образом:

pc = 2
i = 0
while i <= pc:
    self.tableWidget.insertRow(i)
    self.tableWidget.setItem(i, 0, parameter[i])
    i += 1

Было бы также полезно, если бы кто-то указал, есть ли лучший способ добавить строку в tableWidget, чем setItem.

Ответы [ 2 ]

5 голосов
/ 12 августа 2011

Конструктор QTableWidgetItem принимает строку в качестве аргумента.В вашем случае вам просто нужно изменить пятую строку на (при условии parameter - это список строк)

self.tableWidget.setItem(i, 0, QtGui.QTableWidgetItem(parameter[i]))
0 голосов
/ 12 августа 2011

Вы получаете ошибку, потому что setItem принимает QTableWidgetItem * в качестве ввода для третьего аргумента.Попробуйте это

pc = 2
self.tableWidget.setRowCount(pc)
i = 0
while i <= pc:
    self.tableWidget.setItem(i, 0, QtGui.QTableWidgetItem(parameter[i]))
    i += 1
...