Russian Qt Forum
Ноябрь 23, 2024, 07:04 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: формат отображения в Q...View  (Прочитано 2998 раз)
unkeep
Гость
« : Сентябрь 24, 2013, 16:51 »

возможно очень глупый вопрос, но как изменить формат отображённых в представлении данных?

у меня в базе лежит 12903801001(numeric)
а в TreeView отображается 1.29038e+10   (data(index, Qt::DisplayRole) == QVariant(double, 1.29038e+10) )

и всё бы ничего, пусть отображается как хочет, но фильтр по 12903801001 в QSorFilterProxyModel  работает не так как надо Грустный

подозреваю что надо переопределять data,  и данные для отображения переводить в другой формат...
Записан
VPS
Гость
« Ответ #1 : Сентябрь 24, 2013, 17:45 »

Скорее всего в исходной модели они лежат в таком виде...
« Последнее редактирование: Сентябрь 24, 2013, 17:47 от vps » Записан
unkeep
Гость
« Ответ #2 : Сентябрь 24, 2013, 17:51 »

Скорее всего в исходной модели они лежат в таком виде...
в модель вычитывается из базы c типом QVariant без каких либо преобразований
Записан
VPS
Гость
« Ответ #3 : Сентябрь 24, 2013, 18:07 »

Тогда можно для представления (в данном случае, лучше наверное, для отдельной колонки) создать свой делегат от класса "QStyledItemDelegate" и переопределить нужный метод (если для роли "Qt::DisplayRole", то "QStyledItemDelegate::displayText").
« Последнее редактирование: Сентябрь 24, 2013, 18:24 от vps » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.047 секунд. Запросов: 20.