QListWidgetItem から継承する PageRangeListWidgetItem という名前の新しいクラスを作成しました
class PageRangeListWidgetItem : public QListWidgetItem
{
...
private:
int start, end;
bool operator<(const PageRangeListWidgetItem &other) const {
if (start == other.start)
return end < other.end;
return start < other.start;
}
};
これらのアイテムは、ユーザー入力を通じて QListWidget に追加されています。QListWidget にはこれらの PageRangeListWidgetItem のみが含まれているため、QListWidget の sortItems() 関数を呼び出して、オーバーロードされた operator< を使用して項目を好みに合わせて並べ替えることを期待しましたが、残念ながらそうではなく、並べ替えを続けます純粋な QListWidgetItems が含まれているかのようにリストします。
この動作を変更するにはどうすればよいですか? カスタム QListWidget クラスを作成する必要がありますか、それとももっと簡単な方法がありますか?