QTableWidget功能强大,可以在每个格子里添加自己的wiget部件。
如果想对这些自己添加的widget进行排序有两种方法。
一种是直接设置每个格子对应的QTableWidgetItem的值,因为QTableWidget默认是据QTableWidgetItem来排序,调用的比较函数是:
bool QTableWidgetItem::operator< ( const QTableWidgetItem & other ) const [virtual]
貌似QTableWidget 是据字符串来排序的。所以设置 QTableWidget 中的text值时要注意。
第二种办法是从QTableWidget 中派生,重写比较函数。
把自己写的派生类添加到QTableWidget中。
void QTableWidget::setItem ( int row, int column, QTableWidgetItem * item )
补充,第二种方法未测试。不过应该可以实现。。