私はいくつかの行を持つqtablewidgetを持っています。私はこれらの行をランダムに並べ替える必要があります。ランダムにQtablewidgetの行をソートする
これを行うにはどのような方法が最適ですか?私はランダムにすべての行を削除し、追加を除く見当がつかない...
私はいくつかの行を持つqtablewidgetを持っています。私はこれらの行をランダムに並べ替える必要があります。ランダムにQtablewidgetの行をソートする
これを行うにはどのような方法が最適ですか?私はランダムにすべての行を削除し、追加を除く見当がつかない...
は、「私はあなたには、いくつかのカスタムの並べ替えを探していると仮定します。未列ヘッダのクリックソート」
私はそれを行うための方法を持っています。はるかに効率的な方法かもしれない。
以下の機能を使用して「QTableWidgetItem」の「QList」を取得します。あなたの "QTableWidget" をクリアしていないあなたのcondiion
bool sortFun(const QTableWidgetItem* v1, const QTableWidgetItem* v2)
{
return //your sor criteria;
}
int doComparison()
{
QList<QTableWidgetItem *> fieldsList;
// Add items to fieldsList.
qSort(fieldsList.begin(), fieldsList.end(), sortFun);
}
と、以下のように
QList<QTableWidgetItem *> findItems(const QString & text, Qt::MatchFlags flags) const
は、その後、あなたのリストを並べ替えます。
は、最終的に私は別の何かを行っているQTableWidget
に「QTableWidgetItems」のあなたのソートされたリストを割り当て直します。
私の行うべきこと: - 私のテーブルの行はランダム - 私は "時間"の列を持っています。最初の行は15:00に初期化してから、各行に1分追加します。
私が使用した解決方法: - 自分の時間(15:00、15:01、15:02 ...)でqlistを作成する - qlistをランダム化する(15:01、15:03、...) 。 - qlistの項目をテーブルの "Time"列に割り当てます。 - ソート列メソッドを使用して、 "Time"列のmy表を注文します。
「ランダムに並べ替える」とは、カスタム条件でソートするか、項目の順序をランダム化するかを明確にすることはできますか? –