QTableWidget有现成的方法sortItems,直接用就行
connect(ui->tableWidget->horizontalHeader(), SIGNAL(sectionClicked(int)), this, SLOT(onSortByColumn(int)));
void DistributorManagerDialog::onSortByColumn(int col)
{
Qt::SortOrder order = m_sortAsc ? Qt::AscendingOrder : Qt::DescendingOrder;
ui->tableWidget->sortItems(col, order);
m_sortAsc = !m_sortAsc;
}