C++ 如何对QTableView进行排序忽略大小写
我有一个QTableView附加到QSqlTableModel。我想给用户一个在运行时对表进行排序的选项。问题是我有大写和小写的值。因此,当我这样做时:C++ 如何对QTableView进行排序忽略大小写,c++,qt,sorting,qt5,qtableview,C++,Qt,Sorting,Qt5,Qtableview,我有一个QTableView附加到QSqlTableModel。我想给用户一个在运行时对表进行排序的选项。问题是我有大写和小写的值。因此,当我这样做时: ui->tableView->sortByColumn(0, Qt::AscendingOrder); 它按照第0列对表进行排序,但以“a”开头的条目保留在以“Z”开头的条目之后,原因很明显(因为ASCII中的“Z”=90和“a”=97)。我想要一种使用列0对表进行排序的方法,但忽略大小写我找到的更简单的方法是: void Mai
ui->tableView->sortByColumn(0, Qt::AscendingOrder);
它按照第0列对表进行排序,但以“a”开头的条目保留在以“Z”开头的条目之后,原因很明显(因为ASCII中的“Z”=90和“a”=97)。我想要一种使用列0对表进行排序的方法,但忽略大小写我找到的更简单的方法是:
void MainWindow::on_actionAuthor_descending_triggered()
{
QSortFilterProxyModel *m = new QSortFilterProxyModel(this);
m->setSourceModel(model);
m->setSortCaseSensitivity(Qt::CaseInsensitive);
m->sort(1, Qt::DescendingOrder);
ui->tableView->setModel(m);
}
现在就提供一个更好的@eyllanesc