... dont je suis absolument responsable, c'est moi qui ai fait l'erreur dans la doc, et nous n'avions jamais testé ça car les seules expressions rationnelles que j'avais définies étaient pour les dates (et ne servent finalement pas, puisque tu as réussi à régler le problème des dates nulles dans les QDateEdit).
Alors que je réfléchissais à la meilleure manière de gérer les valeurs de type xsd:duration, j'ai fait quelques essais avec masques de saisie et expressions rationnelles, et je me suis rendu compte que les secondes faisaient planter Plume.
Il y a deux choses, en fait :
il faut tester si la clé 'regex validator flags' est nulle avant de chercher les lettres qu'elle contient ;
j'avais laissé une méchante coquille dans l'appel à la méthode setValidator. Elle ne prend qu'un seul argument, le validateur, c'est le constructeur de QRegularExpressionValidator qui peut prendre un widget parent en second argument.
Dans plume.bibli_gene_objets.generationObjets, ça donnerait donc plutôt quelque chose de ce genre (ajout de la condition à la quatrième ligne + correction de la coquille sur la dernière ligne, le reste est inchangé) :
#QRegularExpression
if _valueObjet['regex validator pattern'] != None :
re = QRegularExpression(_valueObjet['regex validator pattern'])
if _valueObjet['regex validator flags']:
if "i" in _valueObjet['regex validator flags']:
re.setPatternOptions(QRegularExpression.CaseInsensitiveOption)
if "s" in _valueObjet['regex validator flags']:
re.setPatternOptions(QRegularExpression.DotMatchesEverythingOption)
if "m" in _valueObjet['regex validator flags']:
re.setPatternOptions(QRegularExpression.MultilineOption)
if "x" in _valueObjet['regex validator flags']:
re.setPatternOptions(QRegularExpression.ExtendedPatternSyntaxOption)
_mObjetQSaisie.setValidator(QRegularExpressionValidator(re, _mObjetQSaisie))
Au final, on n'utilise toujours rien de ça pour le moment, car je suis partie sur autre chose pour les xsd:duration, mais autant que ce soit propre. J'ai évidemment corrigé dans la doc.
... dont je suis absolument responsable, c'est moi qui ai fait l'erreur dans la doc, et nous n'avions jamais testé ça car les seules expressions rationnelles que j'avais définies étaient pour les dates (et ne servent finalement pas, puisque tu as réussi à régler le problème des dates nulles dans les
QDateEdit
).Alors que je réfléchissais à la meilleure manière de gérer les valeurs de type
xsd:duration
, j'ai fait quelques essais avec masques de saisie et expressions rationnelles, et je me suis rendu compte que les secondes faisaient planter Plume.Il y a deux choses, en fait :
'regex validator flags'
est nulle avant de chercher les lettres qu'elle contient ;setValidator
. Elle ne prend qu'un seul argument, le validateur, c'est le constructeur deQRegularExpressionValidator
qui peut prendre un widget parent en second argument.Dans
plume.bibli_gene_objets.generationObjets
, ça donnerait donc plutôt quelque chose de ce genre (ajout de la condition à la quatrième ligne + correction de la coquille sur la dernière ligne, le reste est inchangé) :Au final, on n'utilise toujours rien de ça pour le moment, car je suis partie sur autre chose pour les
xsd:duration
, mais autant que ce soit propre. J'ai évidemment corrigé dans la doc.