Page 1 of 1

Faire une entrée de donnée type "Mot de passe"

Posted: 26 Jul 2014, 00:11
by Tara42
Bonjour,

Que faut-il faire au niveau de l'action "Entrée de donnée" pour que le champ de saisie soit de type "Mot de passe", c'est-à-dire masqué avec des astérisques ??

Il faut probablement utiliser Qt et setEchoMode, mais comment ?

Merci par avance pour votre aide.

Bien cordialement.

Re: Faire une entrée de donnée type "Mot de passe"

Posted: 26 Jul 2014, 18:56
by Tara42
J'avance en utilisant une action "Code" mais j'ai encore une erreur car Password est pris en compte comme une variable et je ne comprends pas pourquoi :(

Code: Select all

var window = new QDialog();
var layout = new QFormLayout(window);
var nameLineEdit = new QLineEdit(window);
var buttonBox = new QDialogButtonBox(window);

buttonBox.addButton(QDialogButtonBox.Ok);
buttonBox.accepted.connect(window.accept);

nameLineEdit.setTextEchoMode(Password);

layout.addRow("Mot de passe :", nameLineEdit);
layout.addRow(buttonBox);

if(window.exec() == QDialog.Accepted)
    MessageBox().setText("Votre mot de passe a bien été enregistré pour cette session de signature").showModal();
Votre avis ?

Re: Faire une entrée de donnée type "Mot de passe"

Posted: 10 Aug 2014, 11:24
by francois
Bonjour,

Une piste :

var myObject = new InputDialog();

myObject.setInputType(0) // 0 pour text - 1 pour integer - 2 pour float -- 3 pour list
myObject.setTextEchoMode(2); // affichage : 0, normal - 1 rien - 2 mode password

myObject.showModal();
Console.print(myObject.value)

cordialement

Francois

Re: Faire une entrée de donnée type "Mot de passe"

Posted: 10 Aug 2014, 17:07
by Tara42
francois wrote:Bonjour,

Une piste :

var myObject = new InputDialog();

myObject.setInputType(0) // 0 pour text - 1 pour integer - 2 pour float -- 3 pour list
myObject.setTextEchoMode(2); // affichage : 0, normal - 1 rien - 2 mode password

myObject.showModal();
Console.print(myObject.value)

cordialement

Francois
Bonjour François,

Tes réponses sur ce post et sur celui concernant l'utilisation de "InputDialog" m'ont vraiment permis d'avancer...

En fait, les valeurs données à la fin de cette page :

https://wiki.actionaz.org/doku.php?id=f ... log#valeur

ne sont pas bonnes (en fait cela démarre à 0 et non pas à 1) et bien évidemment il ne faut pas taper le texte mais la valeur !

Il existe cependant deux manières de faire que je reprends dans le code ci-après (soit en arguments de la fonction soit avec les méthodes).

Code: Select all

var myObject = new InputDialog({
    title: "Entrez votre mot de passe :",
    visible:true,
    enabled:true,
    //textEchoMode: InputDialog.Password,
    //inputType: InputDialog.Text,
});
myObject.setTextEchoMode(2);
myObject.setInputType(0);
myObject.showModal();
var A = myObject.value;
Dans ce code, le résultat est stocké dans la variable A (on peut utiliser alors une boîte de dialogue pour afficher le résultat) et utilise les méthodes pour le type d'entrée et le texte du mode Echo. A la place de myObject.setTextEchoMode(2) et myObject.setInputType(0), on peut donc aussi utiliser les arguments de la fonction correspondants (lignes en commentaire).

Encore merci et j'espère que ces quelques précisions pourront servir à d'autres !

Bien cordialement. :D

Re: Faire une entrée de donnée type "Mot de passe"

Posted: 13 Aug 2014, 12:05
by Jmgr
ne sont pas bonnes (en fait cela démarre à 0 et non pas à 1) et bien évidemment il ne faut pas taper le texte mais la valeur !
Ha, en fait il ne s'agit pas de la valeur numérique mais juste des éléments d'une énumération du wiki... C'est vrai que ce n'est pas très clair. C'est corrigé, en tous cas sur cette page.