//connected signals
connect(ui->tableWidget, SIGNAL(cellChanged(int,int)), this, SLOT(calc(int,int)));
void MainWindow::calc(int x,int y)
{
if (y == 1)
{
float ttl = ui->tableWidget->item(x, y)->data(0).toFloat() * ui->tableWidget->item(x, 2)->data(0).toFloat();
item
->setText
(QString::number(ttl,
'f',
2));
ui->tableWidget->setItem(x, 3, item);
ttl = 0;
int rows = ui->tableWidget->rowCount();
for (int i = 0; i < rows; ++i)
{
ttl += ui->tableWidget->item(i, 3)->data(0).toFloat();
}
ui
->totaleEdit
->setText
(QString::number(ttl,
'r',
2));
}
else if (y == 2)
{
float ttl = ui->tableWidget->item(x, y)->data(0).toFloat() * ui->tableWidget->item(x, 1)->data(0).toFloat();
item
->setText
(QString::number(ttl,
'f',
2));
ui->tableWidget->setItem(x, 3, item);
ttl = 0;
int rows = ui->tableWidget->rowCount();
for (int i = 0; i < rows; ++i)
{
ttl += ui->tableWidget->item(i, 3)->data(0).toFloat();
}
ui
->totaleEdit
->setText
(QString::number(ttl,
'r',
2));
}
}
//connected signals
connect(ui->tableWidget, SIGNAL(cellChanged(int,int)), this, SLOT(calc(int,int)));
void MainWindow::calc(int x,int y)
{
if (y == 1)
{
float ttl = ui->tableWidget->item(x, y)->data(0).toFloat() * ui->tableWidget->item(x, 2)->data(0).toFloat();
QTableWidgetItem *item = new QTableWidgetItem;
item->setText(QString::number(ttl, 'f', 2));
ui->tableWidget->setItem(x, 3, item);
ttl = 0;
int rows = ui->tableWidget->rowCount();
for (int i = 0; i < rows; ++i)
{
ttl += ui->tableWidget->item(i, 3)->data(0).toFloat();
}
ui->totaleEdit->setText(QString::number(ttl, 'r', 2));
}
else if (y == 2)
{
float ttl = ui->tableWidget->item(x, y)->data(0).toFloat() * ui->tableWidget->item(x, 1)->data(0).toFloat();
QTableWidgetItem *item = new QTableWidgetItem;
item->setText(QString::number(ttl, 'f', 2));
ui->tableWidget->setItem(x, 3, item);
ttl = 0;
int rows = ui->tableWidget->rowCount();
for (int i = 0; i < rows; ++i)
{
ttl += ui->tableWidget->item(i, 3)->data(0).toFloat();
}
ui->totaleEdit->setText(QString::number(ttl, 'r', 2));
}
}
To copy to clipboard, switch view to plain text mode
So, I cheated with this condition:
if (y == 1 && ui->tableWidget->item(x, y)->data(0).toString() == "")
if (y == 1 && ui->tableWidget->item(x, y)->data(0).toString() == "")
To copy to clipboard, switch view to plain text mode
Bookmarks