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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QSqlTableModel и формат данных  (Прочитано 4200 раз)
nova
Гость
« : Январь 14, 2007, 13:09 »

Может кто нашел как в QSqlTableModel -> QTableView переопределить формат отображения чисел с плавающей точкой или даты.
1. для всей показываемой таблицы
2. для конкретного столбца
желательно не переписывая стандартного дегегата  Крутой

Спасибо.
Записан
Alexei
Гость
« Ответ #1 : Январь 14, 2007, 14:21 »

В файле $(QTDIR)\src\corelib\kernel\qvariant.cpp есть функция convert, которая вызывается при преобразовании типов. В ней есть строчки:

Код:

case QVariant::Date:
  *str = v_cast<QDate>(d)->toString(Qt::ISODate);
  break;
case QVariant::Time:
  *str = v_cast<QTime>(d)->toString(Qt::ISODate);


Qt::ISODate нужно заменить на свой формат и пересобрать corelib.
Сам не пробовал, но работать должно Веселый
Записан
Dendy
Гость
« Ответ #2 : Январь 14, 2007, 14:34 »

Цитата: "Alexei"
Qt::ISODate нужно заменить на свой формат и пересобрать corelib.


Ето из разряда вредньІх советов?
Записан
Alexei
Гость
« Ответ #3 : Январь 14, 2007, 17:24 »

Нет, это чтобы nova понял(а), что без делегатов не обойтись.
Записан
nova
Гость
« Ответ #4 : Январь 14, 2007, 18:21 »

Ну я это и так знал. Но надеялся что я тупой, и не все из доки понял, а есть более простой способ Улыбающийся
К стати, какая жаль что его нету Улыбающийся. Для стандартных типов мог бы и быть.

Тогда переопределим вопрос.
Вот так работает:
Код:

void FloatItemDelegate::paint(QPainter * painter, const QStyleOptionViewItem & opt, const QModelIndex & index) const
{
  // prepare
  painter->save();

  drawDisplay(painter, opt, opt.rect,QString::number(index.model()->data(index, Qt::DisplayRole).toDouble(),'f',2));

  // done
  painter->restore();
}


Но судя по исходникам QItemDelegate я не все делаю шо надо.
Может у кого есть примерчик ШО НАДО  Показает язык
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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