Bonjour,
Je cherche à vérifier si dans une cellule de mon tableau j'ai un float.
J'ai donc utilisé ce connect:
connect(ui.tableWidget_segments, SIGNAL(currentItemChanged(QTableWidgetItem *, QTableWidgetItem *)), this, SLOT(checkTable2(QTableWidgetItem *, QTableWidgetItem *)));
Je veux que quand c'est pas un entier la sélection revienne à la cellule précédente.
J'ai tout essayé, la sélection reste toujours dans la 2ème cellule que j'ai sélectionné.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
| void testerTable::checkTable2(QTableWidgetItem *current, QTableWidgetItem *previous)
{
if (!(previous == NULL))
{
if (previous->column() == 0 || previous->column() == 1)
{
QString textItem = previous->text();
float monFloatItem = textItem.toFloat();
if (!(monFloatItem > 0))
{
// Message d'erreur
QMessageBox msgBoxc(QMessageBox::Warning, "Nop", "No no no");
msgBoxc.exec();
//ui.tableWidget_segments->scrollToItem(item);
//ui.tableWidget_segments->setCurrentCell(item->row(), item->column());
//item->setFlags(Qt::ItemIsSelectable);
QModelIndex index = ui.tableWidget_segments->model()->index(previous->row(), previous->column());
//// ui.tableWidget_segments->edit(index);
// ui.tableWidget_segments->selectionModel()->select(index, QItemSelectionModel::Select);
//ui.tableWidget_segments->setCurrentIndex(index);
ui.tableWidget_segments->selectionModel()->select(index, QItemSelectionModel::ClearAndSelect);
//ui.tableWidget_segments->setCurrentCell(previous->row(), previous->column());
//ui.tableWidget_segments->setCurrentItem(previous);
// ui.tableWidget_segments->selectionModel()->clearSelection();
//ui.tableWidget_segments->clearSelection();
//ui.tableWidget_segments->clearSelection();
//current->setSelected(false);
//previous->setSelected(true);
//ui.tableWidget_segments->setCurrentItem(previous);
//item->setFlags(Qt::ItemIsEditable | Qt::ItemIsEnabled | Qt::ItemIsSelectable);
//item->setSelected(true);
//ui.tableWidget_segments->setEditTriggers(QAbstractItemView::NoEditTriggers);
// item->setText("");
//ui.tableWidget_segments->setCurrentIndex(index);
//ui.tableWidget_segments->setFocus();
//ui.tableWidget_segments->edit(index);
//Pour le focus
//item->setSelected(true);
}
}
}
} |
Partager