を再増殖が続くソート後移入しないすべてのセル私はこのようなQTableWidgetを移入しました:奇妙QTableWidget挙動 -
// Clear the table
this->topPatchesTableWidget->setRowCount(0);
this->topPatchesTableWidget->setRowCount(numberToDisplay);
for(unsigned int pairId = 0; pairId < numberToDisplay; ++pairId)
{
// Display patch match scores
QTableWidgetItem* myLabel = new QTableWidgetItem;
myLabel->setData(Qt::DisplayRole, myValues[pairId]);
this->tableWidget->setItem(pairId, 0, myLabel);
... fill other columns ...
}
(IはmyValuesの値を計算するプロパティを設定するためにいくつかの他のUI要素を有します) 。プロパティを変更して再計算し、テーブルを再作成すると、すべて正常に動作します。ヘッダーの1つをクリックしてテーブルを並べ替えると、正しく並べ替えられます。しかし、この時点(ソート後)に値を再計算してテーブルを再作成するには、もう一度ボタンをクリックすれば、テーブルは非常に壊れています。つまり、多くのセルが空であり、空でないセルは特定の順序ではないように見えます。私のCreateTable関数の先頭で
this->tableWidget->sortByColumn(0, Qt::AscendingOrder);
に手動コールを追加することにより
、すべてが期待通りに動作しますが、もちろん、新しく作成されたテーブルは、列0ではなく、ために選択した列でソートされます最後の並べ替え
sortByColumnを呼び出さないと誰かが間違っている理由が分かりませんか? (私は簡単な例を作ろうとしましたが、デモプログラムで問題を再現することはできません)。
おかげで、
デビッド
これはうまくいって、私はこの質問に対する答えに違いないと思います。 PyQt4を使ってQTableWidgetでテストされています。 – ray