2013-05-08 76 views
0

我在QAbstractTableModel子類中實現了sort。排序本身有效,但直到我將鼠標懸停在表格本身(即不是標題)之前,視圖纔會更改。我怎樣才能解決這個問題?起初我以爲我也必須發出信號,但找不到合適的信號。排序模型沒有立即生效

回答

1

我用下面的代碼進行排序我在一個項目模型:

void MyModel::organize() 
{ 
    if (!cache_ || cache_->empty()) return; 
    beginResetModel(); // (a) 
    std::stable_sort(cache_->begin(), cache_->end(), compareRow); 
    endResetModel(); // (b) 
} // end:(MyModel::organize) 

線(一)告訴我要重新組織數據模型,線(B)告訴模型我完成了,請刷新相關的視圖。

您也可能發出dataChanged(index, index);信號。