gpt4 book ai didi

python - 对齐 QTableWidgetItem 会导致 item 为 None

转载 作者:行者123 更新时间:2023-11-30 22:26:40 25 4
gpt4 key购买 nike

我在 PyQt5 中创建了一个表并填充它,类似于 this post 中的操作方式。 。我想居中对齐所有单元格,但是当我尝试对齐每个单元格时,我的 QTableWidgetItem 变为 None。

根据docs setTextAlignment(QtCore.Qt.AlignVCenter | QtCore.Qt.AlignHCenter) 应该可以工作。请参阅here也是

这是一个工作示例,其中 self.db_table 是 QTableWidget。

for row in rows:
inx = rows.index(row)
self.db_table.insertRow(inx)
self.db_table.setItem(inx, 0, QTableWidgetItem(str(row[0])))
self.db_table.setItem(inx, 1, QTableWidgetItem(str(row[1])))
self.db_table.setItem(inx, 2, QTableWidgetItem(str(row[2])))
self.db_table.setItem(inx, 3, QTableWidgetItem(str(row[3])))
self.db_table.setItem(inx, 4, QTableWidgetItem(str(row[4])))

当我添加 setTextAlignment() 时,它会使所有 QTableWidgetItems None:

for row in rows:
inx = rows.index(row)
self.db_table.insertRow(inx)
self.db_table.setItem(inx, 0, QTableWidgetItem(str(row[0])).setTextAlignment(QtCore.Qt.AlignVCenter | QtCore.Qt.AlignHCenter))
self.db_table.setItem(inx, 1, QTableWidgetItem(str(row[1])).setTextAlignment(QtCore.Qt.AlignVCenter | QtCore.Qt.AlignHCenter))
self.db_table.setItem(inx, 2, QTableWidgetItem(str(row[2])).setTextAlignment(QtCore.Qt.AlignVCenter | QtCore.Qt.AlignHCenter))
self.db_table.setItem(inx, 3, QTableWidgetItem(str(row[3])).setTextAlignment(QtCore.Qt.AlignVCenter | QtCore.Qt.AlignHCenter))
self.db_table.setItem(inx, 4, QTableWidgetItem(str(row[4])).setTextAlignment(QtCore.Qt.AlignVCenter | QtCore.Qt.AlignHCenter))

有什么原因导致这不起作用吗?

最佳答案

setTextAlignment() 方法不返回任何参数并且等于 None,然后您将 None 传递给 setItem,您必须做的是将项目创建为item = QTableWidgetItem({}) 然后使用 item.setTextAlignment({}) 并在最后添加它 self.db_table.setItem(inx, 0, item) 对于每个元素,简化形式如下:

for row in rows:
inx = rows.index(row)
self.db_table.insertRow(inx)
for i, v in zip(range(5), row):
item = QTableWidgetItem(str(v))
item.setTextAlignment(QtCore.Qt.AlignVCenter | QtCore.Qt.AlignHCenter)
self.db_table.setItem(inx, i, item)

关于python - 对齐 QTableWidgetItem 会导致 item 为 None,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47168063/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com