Название: Количество знаков числа типа double в QTableView Отправлено: shar от Апрель 19, 2011, 10:32 Есть относительно не маленький проект, изначально написанный на Qt 4.3.1. При отображении чисел типа double в QTableView показываются 6 цифр, тогда решено было довольно тупо - исправили
Код: QLocale::toString ( double i, char f = 'g', int prec = 12 ) Код: QStyledItemDelegate::displayText Название: Re: Количество знаков числа типа double в QTableView Отправлено: zenden от Апрель 19, 2011, 10:42 А если переопределить в модели метод
virtual QVariant data ( const QModelIndex & index, int role ) для случая role == Qt::DisplayRole Название: Re: Количество знаков числа типа double в QTableView Отправлено: shar от Апрель 19, 2011, 10:46 А если переопределить в модели метод В общем-то возможно, даже сортировка идет по роли Qt::EditRole, но как-то теряется тип переменной в этом случае и нужно будет искать по всему проекту использование Qt::DisplayRole чего очень не хочется ))). Буду рад выслушать другие вариантыvirtual QVariant data ( const QModelIndex & index, int role ) для случая role == Qt::DisplayRole Название: Re: Количество знаков числа типа double в QTableView Отправлено: GreatSnake от Апрель 19, 2011, 12:24 Перегрузи
Цитировать QString QStyledItemDelegate::displayText ( const QVariant & value, const QLocale & locale ) const [virtual] Название: Re: Количество знаков числа типа double в QTableView Отправлено: shar от Апрель 19, 2011, 12:35 Перегрузи Да, но потом нужно найти все QTableView в проекте и задать им новый делегат. Хочется решения в пару строк, но так было применено ко всему проекту сразу. Доволно удобно с редакторами в делегатах, можно парой строк переопределить редактор по умолчания для определенного типа, а вот для отображения такое не канает. (((Цитировать QString QStyledItemDelegate::displayText ( const QVariant & value, const QLocale & locale ) const [virtual] Название: Re: Количество знаков числа типа double в QTableView Отправлено: GreatSnake от Апрель 19, 2011, 12:45 Цитировать Да, но потом нужно найти все QTreeView в проекте и задать им новый делегат. Хочется решения в пару строк, но так было применено ко всему проекту сразу. Доволно удобно с редакторами в делегатах, можно парой строк переопределить редактор по умолчания для определенного типа, а вот для отображения такое не канает. ((( Ну дык и перегружайте displayText() в этом же делегате. Не понимаю в чём проблема ???Название: Re: Количество знаков числа типа double в QTableView Отправлено: shar от Апрель 19, 2011, 13:04 Ну дык и перегружайте displayText() в этом же делегате. Не понимаю в чём проблема ??? Итак я перегрузил displayText и получил новый класс MyItemDelegate у меня есть проект в котором около 400 классов, мне нужно в каждом классе где есть QTreeView вызвать метод setItemDelegate, не хватает механизма типа QApplication::setDefaultItemDelegate.Название: Re: Количество знаков числа типа double в QTableView Отправлено: GreatSnake от Апрель 19, 2011, 14:20 Отнаследуйся от QTreeView и прогонись sed-om - делов-то.
Название: Re: Количество знаков числа типа double в QTableView Отправлено: shar от Апрель 19, 2011, 14:30 Отнаследуйся от QTreeView и прогонись sed-om - делов-то. Некрасиво... Вдруг кто-нибудь из пристутствующих знает механизм более красивый. Вот была бы возможность наследования QLocale вернее перегрузки функций, и почему нет такой возможности ((.Название: Re: Количество знаков числа типа double в QTableView Отправлено: GreatSnake от Апрель 19, 2011, 14:51 Цитировать Некрасиво... Почему? Как раз красиво будет иметь свой корпоративный QTreeView со всеми project-specific обвязками.Цитировать Вдруг кто-нибудь из пристутствующих знает механизм более красивый. Навряд ли(Цитировать Вот была бы возможность наследования QLocale вернее перегрузки функций, и почему нет такой возможности ((. Я думаю не вы один уже ни раз прокляли троллей за то, что те поленились вставить virtual.Название: Re: Количество знаков числа типа double в QTableView Отправлено: shar от Апрель 19, 2011, 16:16 Цитировать Почему? Как раз красиво будет иметь свой корпоративный QTreeView со всеми project-specific обвязками. Хм. Пожалуй соглашусь, только надо теперь всем рассказать чтобы не забывали Promote делать, а лучше как-нить автоматом отслеживать.Цитировать Я думаю не вы один уже ни раз прокляли троллей за то, что те поленились вставить virtual. Может на это есть свои причины, я во всяком случае их не вижу, надо побаловаться...Спасибо за отклик |