Название: Форматирование чисел (qtableview + qstandarditemmodel) Отправлено: fear от Март 28, 2009, 18:40 В qtableview числа по-умолчанию отображаются в виде: 1000, 10000, 8945555.
Каким образом можно представить числа в виде: 1 000, 10 000, 8 945 555, т.е. с отступом между тысячами, миллионами, и т.д.? Один из возможных вариантов переопределение метода data() и возвращение форматированной строки для Qt::DisplayRole, но как быть в случае, когда используется qstandarditemmodel? Название: Re: Форматирование чисел (qtableview + qstandarditemmodel) Отправлено: Пантер от Март 28, 2009, 19:45 Нужно использовать делегат.
Название: Re: Форматирование чисел (qtableview + qstandarditemmodel) Отправлено: fear от Март 29, 2009, 00:00 Нужно использовать делегат. каким образом?Название: Re: Форматирование чисел (qtableview + qstandarditemmodel) Отправлено: Rcus от Март 29, 2009, 00:20 Поскольку нужно только изменять отображение, то можно наследоваться от QStyledItemDelegate и переопределить метод paint.
Для примера можно посмотреть на ./src/gui/itemviews/qstyleditemdelegate.cpp:406, Нужно только поменять в параметре QStyleOptionViewItemV4 поле text на отформатированную строку. Название: Re: Форматирование чисел (qtableview + qstandarditemmodel) Отправлено: pastor от Март 29, 2009, 10:11 А можно наследоваться от QItemDelegate и переопределить метод drawDisplay
//upd Или переоперделить displayText в QStyledItemDelegate Название: Re: Форматирование чисел (qtableview + qstandarditemmodel) Отправлено: fear от Март 29, 2009, 14:37 переоперделить displayText в QStyledItemDelegate спасибо, то что нужно! :) |