Python 编辑单元格';s代码中QTableWidget的内容

Python 编辑单元格';s代码中QTableWidget的内容,python,pyqt,cell,qtablewidget,Python,Pyqt,Cell,Qtablewidget,在我的代码中,我创建了一个包含50列和2行的QTableWidget。 通过执行一个函数,Python将我以前创建的单元格列表元素放入其中。但是,我不知道如何修改这些单元格。 例如,我想在(x,y)处获取单元格的当前数据并添加一个整数。所以我试过: content = int(self.ui.table.item(X, Y).text()) #I've just strings in my cells self.ui.table.item(X, Y).setText(str(content +

在我的代码中,我创建了一个包含50列和2行的QTableWidget。 通过执行一个函数,Python将我以前创建的单元格列表元素放入其中。但是,我不知道如何修改这些单元格。 例如,我想在(x,y)处获取单元格的当前数据并添加一个整数。所以我试过:

content = int(self.ui.table.item(X, Y).text()) #I've just strings in my cells
self.ui.table.item(X, Y).setText(str(content + 1)
但这部分代码不起作用。 我也试过:

a=self.ui.table.item(X,Y)
print(a.data(0).toString())
但是,请返回我:

'NoneType' object has no attribute 'data'

试试这个,希望它能起作用:

val = 21                            # integer value
row = X                             # this is your row number
self.ui.table.insertRow(row)        # here you decide in which row
item = QTableWidgetItem(str(val))   # create a new Item
self.ui.table.setItem(row,Y, item)

这将覆盖QTableWidget单元格X,Y索引处的值。

试试这个,希望它能起作用:

val = 21                            # integer value
row = X                             # this is your row number
self.ui.table.insertRow(row)        # here you decide in which row
item = QTableWidgetItem(str(val))   # create a new Item
self.ui.table.setItem(row,Y, item)

这将覆盖QTableWidget单元格的X,Y索引处的值。

如果使用QtDesigner创建用户界面,特别是表格,可能是实例问题,QtDesigner创建表格(QTablewiget),但不在表格内创建单元格(QTableWidgetItem),这就是为什么当你试图得到X,Y项时,你得到了一个“非类型”的对象,我知道它听起来很疯狂有三种方法可以解决这些问题:

第一:您可以创建单个项目,如@zeb所示

2do:使用值填充QtDesigner上的单元格,使用此QtDesigner创建表项

第3步:您可以将需要在setupUi功能上使用的每个元素定义为:

item = self.table.item(X,Y)
item.setText(_translate("MainWindow", " "))

如果使用QtDesigner创建用户界面,特别是表,可能是因为存在实例问题,QtDesigner创建表(QTablewiget),但不在表内创建单元格(QTableWidgetItem),这就是当您尝试获取项X,Y时获得“非类型”对象的原因,我知道这听起来很疯狂有三种方法可以解决这些问题:

第一:您可以创建单个项目,如@zeb所示

2do:使用值填充QtDesigner上的单元格,使用此QtDesigner创建表项

第3步:您可以将需要在setupUi功能上使用的每个元素定义为:

item = self.table.item(X,Y)
item.setText(_translate("MainWindow", " "))

你能发布一个小的可运行示例来重现你的问题吗?你能发布一个小的可运行示例来重现你的问题吗?