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

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

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

你可能感兴趣的:(Python入门学习,python)