在tableWidget中经常需要对表进行赋值,并且要调整显示,如居中、靠右等。网上看了许多帖子,都是如下:
self.tableWidget.setItem(i,2,QTableWidgetItem(a[i]).setTextAlignment(QtCore.Qt.AlignCenter | QtCore.Qt.AlignVCenter))
设置后列中直接没有显示。后经反复调测发现,原来正确的写法应该如下:
self.tableWidget.setItem(i,2,QTableWidgetItem(a[i]))
self.tableWidget.item(i,2).setTextAlignment(4 | 4)
# self.tableWidget.item(i,2).setTextAlignment(QtCore.Qt.AlignCenter | QtCore.Qt.AlignVCenter)
要说明的是,不能赋值时直接调整布局,而应该先赋值后再对该列进行布局调整。调整两种写法都可以,4 | 4与QtCore.Qt.AlignCenter | QtCore.Qt.AlignVCenter等效。对了,一定是QtCore.Qt.AlignCenter,许多贴里上说的Qt.AlignCenter不对。
abtableetleWidgetttableWidgetbl