Bonjour,

Je cherche à vérifier si dans une cellule de mon tableau j'ai un float.
J'ai donc utilisé ce connect:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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é.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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);
 
			}
		}
	}
}