Проблема с округлением значения item

Имеется код:

def buttonLast(self):
    row = self.tableWidget_3.rowCount()
    if not row:
        return
    column = 1
    item = self.tableWidget_3.item(row - 1, column)
    print(round(item))

В котором выбирается последнее значение в столбце tableWidget.

Но, при команде print(round(item)) получаю ошибку:

Traceback (most recent call last):
  File "G:\PyCharm\SckethPython\pythonProject_x32_3_8_6\SL_lke2.1.py", line 138, in buttonLast
    print(round(item))
TypeError: type QTableWidgetItem doesn't define __round__ method

Ответы (1 шт):

Автор решения: S. Nick

То к чему вы собираетесь применить round - это QTableWidgetItem object

import sys
from PyQt5.Qt import *


class Example(QDialog):
    def __init__(self):
        super().__init__()

        self.mytable = QTableWidget(4, 2)
        layout = QVBoxLayout(self)
        layout.addWidget(self.mytable) 
        btn = QPushButton("Click me")
        btn.clicked.connect(self.buttonLast)
        layout.addWidget(btn) 

        for i in range(4):
            for j in range(2):
                item = QTableWidgetItem("{}.{}123000".format(i, j))
                item.setTextAlignment(Qt.AlignHCenter)
                self.mytable.setItem(i, j, item)

    def buttonLast(self):
        row = self.mytable.rowCount()
        if not row:
            return
        column = 1
        item = self.mytable.item(row - 1, column)
        print(f'\nitem --> {item}\n')     #  --> QTableWidgetItem object at 0x0...>
        if item:
            item = item.text()            #  --> str
            item = float(item)            #  --> float
            print(round(item))


if __name__ == '__main__':
    app = QApplication(sys.argv)
    w = Example()
    w.show()
    sys.exit(app.exec_())

введите сюда описание изображения

→ Ссылка