tableWidget的setTextAlignment

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 20:07   2072   0

在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

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP