我创建了一个名为 PageRangeListWidgetItem 的新类,它继承自 QListWidgetItem
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 类还是有更简单的方法?