I have a GUI project in Qt Creator that functions as a shopping list. I am using a QLineEdit to add items to a QTableWidget. The user types something in, presses the QPushButton. The slot then adds a new row to the QTableWidget with the input, in the first column, and a new QPushButton in the second column. I then want the user to be able to press the button and have it clear that row, but I don't know how to access that slot, or sender (I'm not sure the proper term.) Here is the code so far. ui->itemList is my QTableWidget and ui->itemInput is the QLineEdit.
void MainWindow::on_btnAddItem_clicked()
{
ui->itemList->insertRow(ui->itemList->rowCount());
ui
->itemList
->setItem
((ui
->itemList
->rowCount
())-1,
0,
new QTableWidgetItem(ui
->itemInput
->text
()));
ui->itemList->setIndexWidget(ui->itemList->model()->index(ui->itemList->rowCount()-1, 1), clear);
ui->itemInput->clear();
}
void MainWindow::on_btnAddItem_clicked()
{
ui->itemList->insertRow(ui->itemList->rowCount());
ui->itemList->setItem((ui->itemList->rowCount())-1,0,new QTableWidgetItem(ui->itemInput->text()));
QPushButton *clear = new QPushButton("Clear",this);
ui->itemList->setIndexWidget(ui->itemList->model()->index(ui->itemList->rowCount()-1, 1), clear);
ui->itemInput->clear();
}
To copy to clipboard, switch view to plain text mode
Here is when the program is initially run. Once they click the button, it runs
on_btnAddItem_clicked()
on_btnAddItem_clicked()
To copy to clipboard, switch view to plain text mode
shopping list prog.PNG
Then after pressing the add item button, it looks like this:
shop prog 2.PNG
I want to make the clear button remove the row it is a part of.
Do I need to create a new slot? Any help?
Bookmarks