crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Метод paint и QSqlQueryModel
AntonH851
  опции профиля:
сообщение 2.3.2010, 17:59
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 66
Регистрация: 20.2.2010
Из: Шебекино
Пользователь №: 1475

Спасибо сказали: 1 раз(а)




Репутация:   0  


Доброго времени суток!
создал делегат для столбца:

class GTDNumDelegate : public QItemDelegate
{
    Q_OBJECT

public:
    GTDNumDelegate(QObject *parent = 0);
    void paint(QPainter *painter, const QStyleOptionViewItem &option,
               const QModelIndex &index) const;

};

void GTDNumDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option,
                           const QModelIndex &index) const
{
    int num = index.model()->data(index, Qt::DisplayRole).toInt();
//    index.model()->data(
//            index.model()->index(index.row(), gtd_ngdata), Qt::DisplayRole).toDate();
    QString text = QString("%1").arg(num);
    QStyleOptionViewItem myOption = option;
    myOption.displayAlignment = Qt::AlignCenter;
    myOption.font.setBold(true);

    drawDisplay(painter, myOption, myOption.rect, text);
}


в методе paint нужно получить кроме текущего значения еще значения других столбцов, как это можно сделать?
пытался так
QDate d = index.model()->data(index.model()->index(index.row(), gtd_ngdata), Qt::DisplayRole).toDate();

неработает...
подскажите пожалуста новичку, как это делаеться
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 2.3.2010, 18:30
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(AntonH851 @ 2.3.2010, 20:59) *
кроме текущего значения еще значения других столбцов, как это можно сделать?
ты можешь узнать модельный индекс для заданных строки и столбца в данной модели с помощью:
QModelIndex QAbstractItemModel::index ( int row, int column, const QModelIndex & parent = QModelIndex() ) const [pure virtual]

Цитата(AntonH851 @ 2.3.2010, 20:59) *
int num = index.model()->data(index, Qt::DisplayRole).toInt();
тут можно было и проще написать:
int num = index.data(Qt::DisplayRole).toInt();

т.к. модельный индекс - это как раз координата данных
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 27.12.2024, 3:36