Python QTableWidget 按数值或字符排序

Python QTableWidget 按数值或字符排序

       不少人发现QTableWidget 中的排序很不科学,好比列排序的一列数10一、3五、二、8七、五、779,排序出来变成了10一、二、3五、五、77九、87。这是由于QTableWidget 是按照string类型进行排序的,在字符串中1是比2小的。所以为了不这种现象,采用下面的策略,自动区分是数值类型仍是字符类型。
nameItem = QtGui.QTableWidgetItem()
 if type(item)==int://item为输入的类型。
     nameItem.setData(QtCore.Qt.DisplayRole,item)
 else:
     nameItem.setText(item)
     self.table.setItem(self.__current_line,col,  nameItem)
del nameItem //不要忘了释放内存