在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
表格布局调整:QtTableWidget中的正确文本对齐方式
本文介绍了在使用PyQt中的QtTableWidget时,如何正确设置单元格内容居中和垂直居中的技巧。错误的设置会导致显示问题,作者强调了先赋值后调整对齐的必要性,并指出了Qt.AlignCenter与4|4等效的写法。
793

被折叠的 条评论
为什么被折叠?



