Python PyQt QTableWidgetItem.setItem覆盖属性和标志

Python PyQt QTableWidgetItem.setItem覆盖属性和标志,python,pyqt,Python,Pyqt,我试图了解qt是如何处理这个小部件的 item = QtGui.QTableWidgetItem() item.setTextAlignment(QtCore.Qt.AlignHCenter | QtCore.Qt.AlignVCenter | QtCore.Qt.AlignCenter) item.setFlags(QtCore.Qt.ItemIsDragEnabled | QtCore.Qt.ItemIsUserCheckable | QtCore.Qt.ItemIsEnabled)

我试图了解qt是如何处理这个小部件的

item = QtGui.QTableWidgetItem()
item.setTextAlignment(QtCore.Qt.AlignHCenter | QtCore.Qt.AlignVCenter |     QtCore.Qt.AlignCenter)
item.setFlags(QtCore.Qt.ItemIsDragEnabled | QtCore.Qt.ItemIsUserCheckable | QtCore.Qt.ItemIsEnabled)
self.tableWidget.setItem(0, 0, item)
但是,当我在表中输入“setItem”项时:

self.ui.tableWidget.setItem(self.i, 0,    QtGui.QTableWidgetItem(str(self.dungeonCount[self.i])))
QtCore.Qt.AlignHCenter | QtCore.Qt.AlignVCenter | QtCore.Qt.AlignCenter

QtCore.Qt.ItemIsDragEnabled | QtCore.Qt.ItemIsUserCheckable | QtCore.Qt.ItemIsEnabled


似乎要覆盖。

在第一个块中,您创建了
item
,类
QTableWidgetItem
的一个实例。 您已成功更改其对齐方式和标志

当您调用
setItem(self.i,0,QtGui.QTableWidgetItem(“某些文本”))
时,您正在创建该类的另一个实例<代码>项被新的
QTableWidgetItem
替换,带有默认对齐方式和标志

您应该跟踪
项目
,并在需要时更改其文本,如下所示:

self.item = QtGui.QTableWidgetItem()
self.item.setTextAlignment(QtCore.Qt.AlignHCenter | QtCore.Qt.AlignVCenter)
self.tableWidget.setItem(0, 0, self.item)

#and then later
self.item.setText("my new text")

在第一个块中,创建
item
,类
QTableWidgetItem
的一个实例。 您已成功更改其对齐方式和标志

当您调用
setItem(self.i,0,QtGui.QTableWidgetItem(“某些文本”))
时,您正在创建该类的另一个实例<代码>项被新的
QTableWidgetItem
替换,带有默认对齐方式和标志

您应该跟踪
项目
,并在需要时更改其文本,如下所示:

self.item = QtGui.QTableWidgetItem()
self.item.setTextAlignment(QtCore.Qt.AlignHCenter | QtCore.Qt.AlignVCenter)
self.tableWidget.setItem(0, 0, self.item)

#and then later
self.item.setText("my new text")

setItem
方法在给定的行/列设置一个全新的项

如果要修改现有项目的文本,请执行以下操作:

item = self.tableWidget.item(self.i, 0)
item.setText(str(self.dungeonCount[self.i]))

setItem
方法在给定的行/列设置一个全新的项

如果要修改现有项目的文本,请执行以下操作:

item = self.tableWidget.item(self.i, 0)
item.setText(str(self.dungeonCount[self.i]))

它们如何“覆盖”?您设置的新项没有正确的对齐方式和标志,或者其他内容?基本上,它会重置为默认(我猜)对齐方式/标志,因为字段停止“水平和垂直”居中的格式设置,并且它们变得可编辑(最初不是**)**最初我的意思是在用第二块代码编辑字段之前。它们如何“覆盖”?您设置的新项没有正确的对齐方式和标志,或者其他内容?基本上,它会重置为默认(我猜)对齐方式/标志,因为字段停止“水平和垂直”居中的格式设置,并且它们变得可编辑(最初不是**)**最初我的意思是在用第二块代码编辑字段之前。