Bonjour,
J'ai une QTableWidget où je souhaite vérifier la donnée saisie par un utilisateur.
L'entrée doit être un point se composant comme suit "nombre,nombre" (il s'agit d'un point). Nombre est un réel, ex "674097.85,6813.25" sans les guillemets, et sans précision sur le nombre de chiffres après la virgule.
J'ai pour l'instant la solution de vérifier l'entrée en séparant les parties par la virgule, compter s'il n'y a que 2 parties et vérifier que l'on peut les convertir en float
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 #!/usr/bin/env python #-*- coding:utf-8 -*- def mon_validateur(str): list_s = str.split(',') if len(list_s) != 2: return False try: float(list_s[0]) float(list_s[1]) return list_s except ValueError: return False test1 = "456,789" test2 = "45qsfd7.46, 46768541" test3 = "312.45,456,789" test4 = "12345.45.54, 456789,789" print mon_validateur(test1) print mon_validateur(test2) print mon_validateur(test3) print mon_validateur(test4)
Quelle méthode puis-je utiliser pour arriver au même résultat dans une QTableWidget pour chaque item devant contenir des données de ce type (QValidator, QstyledItemDelegate) ?
En vous remerciant par avance.
Partager