ДК
Джон Кофи23 марта 2020 г. 2:52

поменять название столбца в QTreeView

Qt, setHeaderData

Привет. Есть модель от QAbstractItemModel, надо на одной из вьюшек поменять название столбца. Делаю с помощью setHeaderData(...), но всегда возвращает false.

_testsModel->setHeaderData(Test::RESULTTIME, Qt::Horizontal, Interface::SHORTTIMENAME, Qt::DisplayRole);
ui->_tests->setModel(_testsModel);

Пробовал делать через QSortFilterProxyModel, возвращает тоже false + падает приложение.
Как изменить название столбца? Переопределить в модели headerdata() не могу, тк модель используется во многих вьюхах, а изменить название столбца нужно только для одной.
update:
получилось сделать так, но почему вот так работает, а просто написать _testsModel->setHeaderData(...) нельзя, я не понимаю.

void MainTestsForm::changeRESULTTIMEColumnName()
{
    QStandardItemModel *stmodel = new QStandardItemModel(0, Test::LAST_FIELD, this);
    for(int col(0); col < Test::LAST_FIELD; ++col) {
        stmodel->setHeaderData(col, Qt::Horizontal, _testsModel->headerData(col, Qt::Horizontal, Qt::DisplayRole));
        if(col == Test::RESULTTIME)
            stmodel->setHeaderData(Test::RESULTTIME, Qt::Horizontal, Interface::SHORTDATENAME, Qt::DisplayRole);
    }
    ui->_tests->header()->setModel(stmodel);
}
Рекомендуем хостинг TIMEWEB
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.

Вам это нравится? Поделитесь в социальных сетях!

1
Evgenii Legotckoi
  • 24 марта 2020 г. 5:10
  • Ответ был помечен как решение.

Добрый день

Если вы для каждой вьюшки создаёте свой экземпляр этой модели, то просто наследуйтесь от этой модели и переопределите только headerData() , и используйте эту переопределённую модель в этой конкретной вьюшке, или сделайте прокси модели для этой конкретной вьюшки. Архитектурно такой подход будет наиболее верным.

    Комментарии

    Только авторизованные пользователи могут публиковать комментарии.
    Пожалуйста, авторизуйтесь или зарегистрируйтесь
    AD

    C++ - Тест 004. Указатели, Массивы и Циклы

    • Результат:50баллов,
    • Очки рейтинга-4
    m
    • molni99
    • 26 октября 2024 г. 1:37

    C++ - Тест 004. Указатели, Массивы и Циклы

    • Результат:80баллов,
    • Очки рейтинга4
    m
    • molni99
    • 26 октября 2024 г. 1:29

    C++ - Тест 004. Указатели, Массивы и Циклы

    • Результат:20баллов,
    • Очки рейтинга-10
    Последние комментарии
    i
    innorwall14 ноября 2024 г. 19:03
    Qt/C++ - Урок 060. Настройка внешнего вида приложения в рантайме I didnt have an issue work colors priligy dapoxetine 60mg revia cost uk August 3, 2022 Reply
    i
    innorwall14 ноября 2024 г. 11:42
    Как Копировать Файлы в Linux If only females relatives with DZ offspring were considered these percentages were 23 order priligy online uk
    i
    innorwall14 ноября 2024 г. 9:09
    Qt/C++ - Урок 068. Hello World с использованием системы сборки CMAKE в CLion ditropan pristiq dosing With the Yankees leading, 4 3, Rivera jogged in from the bullpen to a standing ovation as he prepared for his final appearance in Chicago buy priligy pakistan
    i
    innorwall14 ноября 2024 г. 4:05
    EVILEG-CORE. Использование Google reCAPTCHA 2001; 98 29 34 priligy buy
    Сейчас обсуждают на форуме
    i
    innorwall14 ноября 2024 г. 3:39
    добавить qlineseries в функции priligy amazon canada 93 GREB1 protein GREB1 AB011147 6
    i
    innorwall11 ноября 2024 г. 10:55
    Всё ещё разбираюсь с кешем. priligy walgreens levitra dulcolax carbs The third ring was found to be made up of ultra relativistic electrons, which are also present in both the outer and inner rings
    9
    9Anonim25 октября 2024 г. 9:10
    Машина тьюринга // Начальное состояние 0 0, ,<,1 // Переход в состояние 1 при пустом символе 0,0,>,0 // Остаемся в состоянии 0, двигаясь вправо при встрече 0 0,1,>…
    ИМ
    Игорь Максимов3 октября 2024 г. 4:05
    Реализация навигации по разделам Спасибо Евгений!

    Следите за нами в социальных сетях