如何忽略大小写按字母顺序对 QT 树视图中的项目名称进行排序?

问题描述 投票:0回答:0

下面是我的树视图代码,我想按字母顺序对目录键进行排序,无论它们是否以大写字母开头,例如,“自动更新”应该列在“音频”之后,如何实现这?谢谢。

我听说您可以覆盖虚拟 QAbstractItemModel::sort() 来实现您自己的不区分大小写的排序。谁能提供代码示例?

RegistryTreeView::RegistryTreeView(Registry &inRegistry, QWidget *inParent)
{
    mModel = new RegistryItemModel;
    mModel->setRegistry(&inRegistry);

    mTreeView = new QTreeView;
    mTreeView->setContextMenuPolicy(Qt::DefaultContextMenu);
    mTreeView->setModel(mModel);
    mTreeView->setItemDelegate(new RegistryItemDelegate(mModel));
    mTreeView->installEventFilter(new A utoSelectEventFilter(this));
    
    mainLayout->addWidget(mTreeView);
    
}

class RegistryItemModel : public QAbstractItemModel
{
Q_OBJECT;

public:
RegistryItemModel(QWidget *parent=NULL);
virtual ~RegistryItemModel();
......
}

qt sorting qtreeview
© www.soinside.com 2019 - 2024. All rights reserved.