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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Редактирование информации в модели  (Прочитано 3491 раз)
Michio
Гость
« : Июнь 28, 2017, 15:14 »

Добрый день пишу метод редактирования, который вызывается по таймеру:
Задача: через n-ое время пробежать по всей таблице в и каждой строке проверить поле "live", если поле livе = 0, идти дальше, если поле 1, то тогда увеличить значение в той же строке, но другой колонки на 1.

Мой код:

Код:
void MainWindow::updateTime(){

    for (int i = 0; i < m_history->rowCount(); ++i) {
        QModelIndex index = m_history->index(i, 8);                 //Индекс активности клиента
        QModelIndex indexVisit = m_history->index(i,4);             //Редактируемый индекс
        bool live = index.data.toBool();                            //Клиент активен да/нет
        bool flag;                                                  //Успешность операции


        if (live) {
            //QModelIndex indexVisit = m_history->index(i, 0);
            int timeVisit = indexVisit.data(Qt::DisplayRole).toInt();
            timeVisit+= 1;
            flag = m_history->setData(indexVisit, timeVisit);   //Возвращает false
            qDebug()<<"Время должно быть добавлено";
            qDebug()<<timeVisit;
        } else {
           qDebug()<<"Время не добавлено";
           continue;

        }
        ui->tableHistory->update();                                 //Обновляем модель представлений
    }




}



m_history объявлена как QSqlRelationalTableModel;
получаю ее из QSQLITE базы, информация из базы отображается.


UPDATE: Начал считать, но теперь обновление только в первой строке, начиная со второй строки flag возвращает как false
« Последнее редактирование: Июнь 28, 2017, 15:26 от Michio » Записан
nvek
Гость
« Ответ #1 : Июнь 30, 2017, 08:08 »

а ты метод setdata переопределил?
http://doc.qt.io/qt-5/qtwidgets-itemviews-addressbook-tablemodel-cpp.html
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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