Я создаю QLineEdit, устанавливаю валидатор и помещаю его в таблицу с таким кодом:
ui->moneyTableWidget->setCellWidget(rowsNum, 1, newQLineEdit);
Тогда у меня есть еще один класс для манипулирования данными таблицы, делающий сумму каждого значения столбца. Вот код:
int Calculator::calculatePricesSum(QTableWidget &moneyTableWidget){
double total = 0;
QWidget *tmpLineEdit;
QString *tmpString;
for(int row=0; row<moneyTableWidget.rowCount(); row++){
tmpLineEdit = (QLineEdit*)moneyTableWidget.cellWidget(row,1);
tmpString = tmpLineEdit.text();
total += tmpString->toDouble();
}
return total;
}
Но здание терпит неудачу с этой ошибкой:
/ дома / testpec / SRC / Nokia
QT / MoneyTracker-сборка-тренажер /../ MoneyTracker / calculator.cpp: 11:
ошибка: невозможно преобразовать ‘QLineEdit *’ в
‘QWidget *’ в задании
Почему эта ошибка преобразования?
Еще один подвопрос: передача таблицы в качестве ссылки экономит память, верно? Может ли это быть проблемой? Я занимаюсь разработкой для смартфона Nokia, и я думаю, что передача объекта по значению - это пустая трата памяти ... (извините, если это глупый вопрос, но я немного устала от C ++ и всего, что связано с указателями ...)