【发布时间】:2018-04-20 10:52:09
【问题描述】:
我在 PyQt5 中创建了一个表并填充它,类似于它在 this post 中的完成方式。我想居中对齐所有单元格,但是当我尝试对齐每个单元格时,我的 QTableWidgetItem 变为无。
根据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 都没有:
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))
这有什么不工作的原因吗?
【问题讨论】:
标签: python pyqt pyqt5 qtablewidget qtablewidgetitem