我在每一行都有一个删除按钮。我正在尝试使用QTableview的clicked()SIGNAL来获取当前索引,然后做相应的操作,但在这种情况下不调用此插槽。由于某种原因它不起作用,我在连接clicked()SIGNAL时犯了一些错误吗?QTableView:如何正确使用clicked()信号来获取所选项目的索引?
void MyClass::myFunction()
{
ComboBoxItemDelegate* myDelegate;
myDelegate = new ComboBoxItemDelegate();
model = new STableModel(1, 8, this);
filterSelector->tableView->setModel(model);
filterSelector->tableView->setItemDelegate(myDelegate);
connect(filterSelector->tableView, SIGNAL(clicked(const QModelIndex&)), this, SLOT(slotHandleDeleteButton(const QModelIndex&)));
exec();
}
void MyClass::slotHandleDeleteButton(const QModelIndex& index)
{
if(index.column() == 8)
model->removeRow(index.row());
}
MyClass是否来自'SFilterEditor'? – Tomas
我编辑了代码,请审查。 – wazza
我想它适用于除按钮之外的所有列。对? – Tomas