Добавить строку как элемент в tableWidget в QT/Python

У меня есть массив со строками, и я хочу добавить каждую строку в другую строку и тот же столбец 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 ответа

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

self.tableWidget.setItem(i, 0, QtGui.QTableWidgetItem(parameter[i]))

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

pc = 2
self.tableWidget.setRowCount(pc)
i = 0
while i <= pc:
    self.tableWidget.setItem(i, 0, QtGui.QTableWidgetItem(parameter[i]))
    i += 1
Другие вопросы по тегам