С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++ Qt
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
knf
16 / 16 / 8
Регистрация: 18.09.2012
Сообщений: 184
1

QTableWidget подсчет сумма строк

07.12.2013, 23:56. Просмотров 1085. Ответов 6
Метки нет (Все метки)

Хочу подсчитать сумму строк в этом виджете вот так.
C++
1
2
3
4
5
6
7
8
for(int i = 0; i < 5; i++)
      {
           QTableWidgetItem *item = new QTableWidgetItem;
           ui->tableWidget->itemAt(i,0);
           summ += item->text().toInt();
           item->setText(QString::number(summ));
           ui->tableWidget->setItem(0,0,item);
       }
Так не получается.
А вот так получается
C++
1
2
3
4
5
6
7
item2 = ui->tableWidget->itemAt(1,0);
   summ += item2->text().toInt();
   item2 = ui->tableWidget->itemAt(1,1);
   summ += item2->text().toInt();
   QTableWidgetItem *item = new QTableWidgetItem;
   item->setText(QString::number(summ));
   ui->tableWidget->setItem(1,2, item);
В чем проблема?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.12.2013, 23:56
Ответы с готовыми решениями:

Сумма чисел в ячейках QTableWidget
Приветствую. Нужно посчитать сумму чисел в выбранных ячейах. Сам алгоритм в...

QTableWidget с перемещением строк
Какие флаги надо установить, чтобы в QTableWidget можно было мышкой перемещать...

QTableWidget (несколько строк в ячейке)
Нужно, чтобы, если строка добавляемая в ячейку больше, чем размер ячейки, то...

QTableWidget высота по содержимому(кол-ву строк)
Добрый день! Есть форма созданная в дизайнере, в ней есть Tab, а в нем...

QTableWidget. Удаление нескольких выделенных строк
Здравствуйте. Скажите, пожалуйста, как можно удалить несколько выделенных строк?

6
Elboy
131 / 112 / 11
Регистрация: 01.09.2012
Сообщений: 288
08.12.2013, 00:23 2
Цитата Сообщение от knf Посмотреть сообщение
QTableWidgetItem *item = new QTableWidgetItem; ui->tableWidget->itemAt(i,0); summ += item->text().toInt();
создаете пустой item и пытаетесь получить его свойства, равные 0
1
knf
16 / 16 / 8
Регистрация: 18.09.2012
Сообщений: 184
08.12.2013, 01:19  [ТС] 3
Elboy,Ошибочка вышла там вот так и все равно не работает
C++
1
2
3
4
5
 QTableWidgetItem *item = new QTableWidgetItem;
           item = ui->tableWidget->itemAt(i,0);
           summ += item->text().toInt();
           item->setText(QString::number(summ));
           ui->tableWidget->setItem(1,1,item);
0
RazrFalcon
1388 / 1245 / 262
Регистрация: 10.11.2013
Сообщений: 3,763
08.12.2013, 02:42 4
Вам же уже написали все...
C++ (Qt)
1
2
QTableWidgetItem *item = new QTableWidgetItem; // создаем объект
item = ui->tableWidget->itemAt(i,0); // читаем значение только что созданного объекта - значение 0
0
Xantrax
19 / 19 / 2
Регистрация: 28.11.2012
Сообщений: 328
08.12.2013, 23:39 5
Хм, а не проще количество строк узнать стандартной функцией?
C++ (Qt)
1
2
3
#include <QDebug>
 
qDebug() << ui->tableWidget->rowCount();
ну, а если вывести сумму всех значений в строки, то вот:
Кликните здесь для просмотра всего текста
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
{
    myWidget = new QTableWidget(this);
    myWidget->insertColumn(0);
 
    int b= 0;
    for(int i = 0; i<5; i++)
    {
          myWidget->insertRow(i);
          b+=i;
          QTableWidgetItem *item = new QTableWidgetItem;
          item->setText(QString::number(b));
          myWidget->setItem(i,0,item);
    }
}
0
RazrFalcon
1388 / 1245 / 262
Регистрация: 10.11.2013
Сообщений: 3,763
08.12.2013, 23:43 6
Xantrax, ваш код даст неверное количество строк... там должно быть b++.
Да и зачем отдельная переменная, если можно:
C++ (Qt)
1
item->setText(QString::number(myWidget->rowCount()));
0
Xantrax
19 / 19 / 2
Регистрация: 28.11.2012
Сообщений: 328
09.12.2013, 01:18 7
Цитата Сообщение от RazrFalcon Посмотреть сообщение
Xantrax, ваш код даст неверное количество строк... там должно быть b++.
Да и зачем отдельная переменная, если можно:
C++ (Qt)
1
item->setText(QString::number(myWidget->rowCount()));

Не по теме:

Я же вроде четко написал, что сумму всех значений, т.е. текущее + предыдущее, ну, да не то что требовалось автору искал)) Не rowCount я искал...

0
09.12.2013, 01:18
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.12.2013, 01:18

QTableWidget, как записать несоколько строк в ячейке?
Никак не могу найти ответа на вопрос. Нужно в ячейке таблицы сделать запись в...

Как узнать размер строк и колонок QTableWidget
Как узнать эти размеры в пикселях ? И для обычных ячеек (в которых...

QTableView/QTableWidget drag drop перенос строк и ячеек
Вопросище, никак не иначе. Столкнулся с тем, что реализация переноса выделения...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru