Добавить строку как элемент в 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