PyQt5中QtableWidget的方法 sortItem 排序时遇到数字列,也能正确排序的方法

默认的排序方式 是讲所有的内容都当做 字符串的格式,而字符串的格式在排序数字的时候,是不准的。

比如:‘123' < '2' 这样的情况会出现。怎么解决呢?

                    data = QTableWidgetItem()
                    if type(tabe_tatas[i][j]) != str:
                        data.setData(Qt.DisplayRole, tabe_tatas[i][j])
                        data.setTextAlignment(Qt.AlignCenter)
                        tabe_name.setItem(i, j, data)
                    else:
                        data.setText(tabe_tatas[i][j])
                        data.setTextAlignment(Qt.AlignCenter)
                        tabe_name.setItem(i, j, data)
                    # 样式设计
                    data.setFont(QFont('微软雅黑', 10, QFont.Black))
                    data.setForeground(QBrush(QColor(190, 88, 0)))
                    data.setTextAlignment(Qt.AlignRight)
                    del data

用这样的形式去填充数据表格,就可以了。

这样填充的数据,就能按照数字的大小进行正确排序了。

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值