我創建了一個QLineEdit的價值,樹立了驗證,並把它放在桌子上使用此代碼:檢索QTableWidget的細胞中,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;
}
但建築失敗,此錯誤:
/home/testpec/src/nokia QT/MoneyTracker-build-simulator/../MoneyTracker/calculator.cpp:11: error: cannot convert ‘QLineEdit*’ to ‘QWidget*’ in assignment
爲什麼這樣皈依錯誤?
另一個子問題:傳遞表作爲參考可以節省內存嗎?這可能是問題嗎?我開發的諾基亞智能手機,我認爲通過價值傳遞對象是浪費內存......(對不起,如果是一個愚蠢的問題,但我有點生鏽與C++和所有指針的東西...)