Ворпос знатокам Qt.
Использую QFileSystemModel, наследую QSortFilterProxyModel для сортировки, вьювер - QTreeView, как заставить вьювер не отображать знак точки, но отображать две точки?
Версия Qt - 4.6.2
-
Фильтровать?
-
-
Был бы признателен, если бы кто подсказал как. В QSortFilterProxyModel есть метод setFilterRegExp, но я понятия не имею, какую регэкспу ему подставить, что я только не пробовал, пока не получается.
-
-
Не помню, он пропускает соответствующие или наоборот фильтрует?
-
-
В доках ничего нет, надо проверить. Попробуй setFilterFixedString("."), если оставит только ".", тогда надо думать дальше, т.к. я так и не придумал, как задать "не равно" с помощью регэкспов
-
если ставлю "." в эти методы, он вообще ничего не пропускает
-
-
Потому что точку надо экранировать, наверное
-
-
такой escape-последовательности нет
-
-
gcc того же мнения :)
-
Точка есть в регэкспах. В любом случае, можно попробовать
-
-
error: unknown escape sequence '\.'
-
-
Понятно, значит не пойдет
-
\\.
-
-
не сразу понял, что имел ввиду K-9 под выражением экранировать точку
-
-
Ничего, я по жизни непонятный
-
еще есть setFilterFixedString и setFilterWildcard, но тоже нулевой результат
-
-
Вроде как там есть еще что-то, что отвечает за включение/выключение фильтра, и это что-то надо отдельно включать
-
-
setFilterKeyColumn(int)
этот?
устанавливаю на 0
-
-
Вроде да, он выбирает, по какой колонке фильтр
-
-
все равно нулевой результат
-
Вот нашел пример
-
-
да я его видел, только невнимательно посмотрел, кажется нужно перегружать метод filterAcceptsRow
-
-
да, получилось!
1
2
3
4
5
|
bool SortFilterProxyModel::filterAcceptsRow(int source_row, const QModelIndex &source_parent) const
{
QModelIndex index = m_sourceModel->index(source_row, 0, source_parent);
return (m_sourceModel->fileInfo(index).fileName() != ".");
} |
-
Надо оформить багрепорт с целью добавлении отдельной функции-фильтра
-
Кстати, добавь "Решено" в заголовок. И у тебя написано "Ворпос"
|
|
|
Последние посты
|
|
Последние комментарии
|
|
Изменения
|
|
Черновики (все)
|
|
Избранное (всё)
|
|
|