PyQt QTableWidgetItem .setItem 覆盖属性和标志
PyQt QTableWidgetItem .setItem overriding attributes and flags
我想了解 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' 项目在 table:
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
,class QTableWidgetItem
的一个实例。
您已成功更改其对齐方式和标志。
当您调用 setItem(self.i, 0, QtGui.QTableWidgetItem("some text"))
时,您正在创建 class 的另一个实例。 item
被新的 QTableWidgetItem
替换,具有默认对齐方式和标志。
您应该跟踪 item
并在需要时更改其文本,如下所示:
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
方法在给定的 row/column.
处设置 一个全新的 项目
如果您想修改 现有 项的文本,请执行以下操作:
item = self.tableWidget.item(self.i, 0)
item.setText(str(self.dungeonCount[self.i]))
我想了解 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' 项目在 table:
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
,class QTableWidgetItem
的一个实例。
您已成功更改其对齐方式和标志。
当您调用 setItem(self.i, 0, QtGui.QTableWidgetItem("some text"))
时,您正在创建 class 的另一个实例。 item
被新的 QTableWidgetItem
替换,具有默认对齐方式和标志。
您应该跟踪 item
并在需要时更改其文本,如下所示:
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
方法在给定的 row/column.
如果您想修改 现有 项的文本,请执行以下操作:
item = self.tableWidget.item(self.i, 0)
item.setText(str(self.dungeonCount[self.i]))