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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Раскраска строк в QTableView  (Прочитано 2135 раз)
Григорий
Гость
« : Октябрь 16, 2012, 08:52 »

Уважаемые форумчане , помогите разобраться,
необходимо подсвечивать некоторые строки в QTableView в зависимости от значения в поле к примеру с именем "color"

делаю через создание собственной модели

Код:
class SqlQModel:public QSqlQueryModel{
 Q_OBJECT
 public:
  QVariant data(const QModelIndex& i,int role)const{
   QVariant v=QSqlQueryModel::data(i,role);
   if(role == Qt::BackgroundColorRole){
    QSqlQueryModel* m=(QSqlQueryModel*)i.model();
    if (m->record().value("color").toInt()>0) return qVariantFromValue(QColor(Qt::darkRed));
    else return qVariantFromValue(QColor(Qt::green));
   }
   else return v;
  }
};


по результатам вот этого кода даже если в поле "color" есть значение больше 0 у меня все равно все строки  зеленые, т.е m->record().value("color").toInt() всегда 0,
что я делаю не так...?
Записан
lighting
Гость
« Ответ #1 : Октябрь 16, 2012, 10:24 »

Код
C++ (Qt)
int QVariant::toInt ( bool * ok = 0 ) const
ok в твоем случае что возвращает?
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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