Russian Qt Forum

Qt => Вопросы новичков => Тема начата: Alex_C от Май 03, 2012, 09:25



Название: [Решено] setSortIndicator без setSortingEnabled не отображается.
Отправлено: Alex_C от Май 03, 2012, 09:25
Мне нужно отобразить режим сортировки на QTableView при помощи horizontalHeader()->setSortIndicator.
Однако при клике на заголовок таблицы у меня должно происходить другое действие, не сортировка, по этому setSortingEnabled(false); - при этом индикатор сортировки не хочет отображаться. Делаешь setSortingEnabled(true); - отображается, но при клике на на заголовок происходит сортировка. Что я упустил?


Название: Re: setSortIndicator без setSortingEnabled не отображается.
Отправлено: Bepec от Май 03, 2012, 10:21
Переопределить метод при нажатии на заголовок?


Название: Re: setSortIndicator без setSortingEnabled не отображается.
Отправлено: Alex_C от Май 03, 2012, 10:28
Переопределить метод при нажатии на заголовок?

Это я сделал...

Нашел - вчера уйму времени на это потратил, вот сегодня с утра решил спросить на сайте... и тут же нашел причину :) :
оказывается, чтобы индикатор появился, не достаточно:

Код:
    this->horizontalHeader()->setSortIndicator(lastSortIndex, lastSortOrder);

нужно еще и указать

Код:
    this->horizontalHeader()->setSortIndicatorShown(true);

... сколько документации вчера пересмотрел - везде просто setSortIndicator указывался.