Немного проще, если вы перейдете к QTableView и QStandardItemModel, а не к QTableWidget - не знаете, подходит ли вам это.
Затем вы можете указать SortRole, отличное от DisplayRole. Вот так (надеюсь, Python читабелен - я использую PySide)
tableView = QtGui.QTableView(self)
tableView.setSortingEnabled(True)
model = QtGui.QStandardItemModel(3,2,self)
model.setSortRole(QtCore.Qt.UserRole)
for r in range(3):
for c in range(2):
item = QtGui.QStandardItem(["1,000","200","100"][r])
item.setData(QtCore.Qt.UserRole,[1000,200,100][r])
model.setItem(r,c,item)
tableView.setModel(model)
Попробуйте закомментировать строку setSortRole, чтобы увидеть два поведения.