поменять название столбца в QTreeView
Привет. Есть модель от 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
Stabiles Hosting des sozialen Netzwerks EVILEG. Wir empfehlen VDS-Hosting für Django-Projekte.Magst du es? In sozialen Netzwerken teilen!
Kommentare
- sdfsdfkp fgskpgokspdog
- 14. Oktober 2024 15:09
C++ - Тест 004. Указатели, Массивы и Циклы
- Ergebnis:90punkte,
- Bewertungspunkte8
- Максим Васильев
- 2. Oktober 2024 04:14
Qt - Тест 001. Сигналы и слоты
- Ergebnis:68punkte,
- Bewertungspunkte-1
- Лев Семенов
- 30. September 2024 11:04
C++ - Тест 001. Первая программа и типы данных
- Ergebnis:53punkte,
- Bewertungspunkte-4
Добрый день
Если вы для каждой вьюшки создаёте свой экземпляр этой модели, то просто наследуйтесь от этой модели и переопределите только headerData() , и используйте эту переопределённую модель в этой конкретной вьюшке, или сделайте прокси модели для этой конкретной вьюшки. Архитектурно такой подход будет наиболее верным.