Название: TableView отображение времени Отправлено: sinbad7 от Сентябрь 13, 2011, 16:43 Имеется SQLite таблица с полем типа TIME она подключается с помощью QSqlTableModel к TableView. Данные отображаются с миллисекундами, а мне надо HH:MM, как это можно сделать?
Название: Re: TableView отображение времени Отправлено: gorec323 от Сентябрь 13, 2011, 16:51 Как вариант, определить свой делегат для отображения времени в нужном формате.
Название: Re: TableView отображение времени Отправлено: sinbad7 от Сентябрь 13, 2011, 17:01 Нельзя ли небольшой пример?
Название: Re: TableView отображение времени Отправлено: Странник от Сентябрь 13, 2011, 17:16 поиск по форуму и чтение доков иногда помогает, говорят = ) вот например из недавнего http://www.prog.org.ru/index.php?topic=19358
Название: Re: TableView отображение времени Отправлено: sinbad7 от Сентябрь 13, 2011, 18:22 Цитировать вот например из недавнего http://www.prog.org.ru/index.php?topic=19358 в этом посте спрашивающему не помогло))я еще не понял вот это Код: QList<QTableView*> list=findChildren <QTableView*>(); и устанавливать делегат в цикле для TableView это как? Название: Re: TableView отображение времени Отправлено: Странник от Сентябрь 13, 2011, 23:55 унаследоваться от QStyledItemDelegate:
Код: #include <QStyledItemDelegate> реализовать преобразование даты/времени в строку, например, так: Код: QString MyDelegate::displayText(const QVariant &value, const QLocale &locale) const установить делегат для представления: Код: tableView->setItemDelegateForColumn(1, new MyDelegate(tableView)); Название: Re: TableView отображение времени Отправлено: sinbad7 от Сентябрь 14, 2011, 03:46 Спасибо, попробую
мне наверно хватит Цитировать return locale.toString(value.toTime(), "hh:mm"); Название: Re: TableView отображение времени Отправлено: sinbad7 от Сентябрь 14, 2011, 15:34 Не работает выдает ошибку
Название: Re: TableView отображение времени Отправлено: sinbad7 от Сентябрь 14, 2011, 15:36 Вот проект на всякий случай
Название: Re: TableView отображение времени Отправлено: BRE от Сентябрь 14, 2011, 15:39 Не работает выдает ошибку Эта ошибка про то, что ты не правильно делегат устанавливаешь, и скорее всего его объект на стеке создаешь?Название: Re: TableView отображение времени Отправлено: sinbad7 от Сентябрь 14, 2011, 15:45 Код: ui->tableView->setItemDelegateForColumn(1, MyDelegate(ui->tableView)); Название: Re: TableView отображение времени Отправлено: GreatSnake от Сентябрь 14, 2011, 15:48 Код: ui->tableView->setItemDelegateForColumn(1, MyDelegate(ui->tableView)); Цитировать скорее всего его объект на стеке создаешь? Название: Re: TableView отображение времени Отправлено: sinbad7 от Сентябрь 14, 2011, 15:52 если ставлю так
Код: ui->tableView->setItemDelegateForColumn(1, new MyDelegate(ui->tableView)); Название: Re: TableView отображение времени Отправлено: GreatSnake от Сентябрь 14, 2011, 15:59 Ну дык, а где имплементация конструктора MyDelegate(QObject *parent)?
Название: Re: TableView отображение времени Отправлено: sinbad7 от Сентябрь 14, 2011, 16:09 mydelegate.h
Код: #ifndef MYDELEGATE_H mydelegate.cpp Код: #include <QDateTime> mainwindow.cpp Код: #include <QtSql> Название: Re: TableView отображение времени Отправлено: GreatSnake от Сентябрь 14, 2011, 16:11 Ну и?
Где тело конструктора-то ??? Название: Re: TableView отображение времени Отправлено: sinbad7 от Сентябрь 14, 2011, 16:21 Делал как в примере Странника, а куда поставить?
Название: Re: TableView отображение времени Отправлено: GreatSnake от Сентябрь 14, 2011, 16:25 Делал как в примере Странника, а куда поставить? Мде, с азами C++ похоже совсем туго :(Код
Название: Re: TableView отображение времени Отправлено: sinbad7 от Сентябрь 14, 2011, 16:40 А в каком месте программы это должно быть?
Название: Re: TableView отображение времени Отправлено: GreatSnake от Сентябрь 14, 2011, 16:43 А в каком месте программы это должно быть? Мде, совсем грустно :(Хотя бы в mydelegate.cpp. Название: Re: TableView отображение времени Отправлено: sinbad7 от Сентябрь 14, 2011, 16:48 mydelegate.cpp
Код: #include <QDateTime> выдает ошибку Название: Re: TableView отображение времени Отправлено: GreatSnake от Сентябрь 14, 2011, 16:54 См. в моём исправленном посте (http://www.prog.org.ru/index.php?topic=19408.msg131086#msg131086).
Учи C++! Сей форум не для этого. Название: Re: TableView отображение времени Отправлено: sinbad7 от Сентябрь 14, 2011, 17:00 GreatSnake! Спасибо огромное, все заработало!!!
|