Mot de passe c++

Fermé
warskull Messages postés 20 Date d'inscription vendredi 28 mai 2010 Statut Membre Dernière intervention 31 octobre 2012 - 9 juin 2010 à 14:18
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 11 juin 2010 à 12:50
Bonjour il se trouve, que je rencontre un problème de mot de passe en c++

je vous poste mon code source :

QPushButton *bouton1 = new QPushButton(&fenetre222);
bouton1->setCursor(Qt::PointingHandCursor);
bouton1->setToolTip("Espace proteger par un mot de passe.");
bouton1->setFont(QFont("Verdana", 16));
bouton1->setFlat(true);
// mot de passe administration
QDialog mdp1 (&fenetre222);
QVBoxLayout *layoutmdp = new QVBoxLayout;
mdp1.setFixedSize(300, 200);
QLineEdit *mdp = new QLineEdit(&mdp1);
mdp->setEchoMode(QLineEdit::Password);
layoutmdp->addWidget(mdp);
QPushButton *boutonmdp = new QPushButton(&mdp1);
layoutmdp->addWidget(boutonmdp);
boutonmdp->setStyleSheet("background-image: url('boutons/OK_1.bmp'); background-repeat: no repeat; background-position: center center; border: 0; width: 30px; height: 30px; font-weight:bold;");

if(mdp->text() == "azerty")
{
QMessageBox::information(mdp, "Mot de passe correct");

}
QWidget::connect(bouton1, SIGNAL(clicked()), &mdp1, SLOT(exec()));
mdp1.setLayout(layoutmdp);

8 réponses

kouki1000 Messages postés 108 Date d'inscription dimanche 8 février 2009 Statut Membre Dernière intervention 5 novembre 2010 9
9 juin 2010 à 14:25
Encore et toujours le problème de spécifications du compilateur (ou IDE), ainsi que les librairies utilisées...
0
warskull Messages postés 20 Date d'inscription vendredi 28 mai 2010 Statut Membre Dernière intervention 31 octobre 2012
9 juin 2010 à 14:30
Désolé j'ai oublié de préciser, je code sur Code::Block et je compile avec Qt.
Et mon problème c'est que j'arrive pas à récupérer la valeur saisie dans le LineEdit pour ensuite faire la vérification du mot de passe.
0
kouki1000 Messages postés 108 Date d'inscription dimanche 8 février 2009 Statut Membre Dernière intervention 5 novembre 2010 9
9 juin 2010 à 14:33
Je me disais bien que c'était Qt.. Mais bon, je m'y connais pas trop en C++ (les bases j'ai compris mais je n'arrive qu'a manipuler la SDL...)
0
warskull Messages postés 20 Date d'inscription vendredi 28 mai 2010 Statut Membre Dernière intervention 31 octobre 2012
9 juin 2010 à 14:36
Merci quand même...
Quelqu'un d'autre sait ? ^^
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
9 juin 2010 à 16:27
Il faut appeler
if(mdp->text() == "azerty")
{
QMessageBox::information(mdp, "Mot de passe correct");

}
Dans un slot par exemple lancer par le bouton OK.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
warskull Messages postés 20 Date d'inscription vendredi 28 mai 2010 Statut Membre Dernière intervention 31 octobre 2012
Modifié par warskull le 10/06/2010 à 08:25
je dois mettre mdp dans slot ?
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
10 juin 2010 à 12:22
oui et non. Il faut le mettre dans SLOT, mais l'appeler.
Tu pose mal ton problème. Si ce que tu as écris est bien ton code, c'est normal que ça ne fonctionne pas, tu as une écriture séquentielle et tu n'alloue pas le temps nécessaire pour remplir le champ. En fait, je pense que tu utilises mal le dialog.
Si tu veux, je peux essayer de te trouver un exemple de mes dialog qui fonctionne.
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
10 juin 2010 à 12:37
Je n'ai pas d'exemlpe, mais je te conseillerai d'utiliser la classe QInputDialog à la place ton ton dialog perso.
Il suffit alors d'utiliser le membre setTextEchoMode pour avoir le mode mot de passe.
QString getText ( QWidget * parent, const QString & title, const QString & label, QLineEdit::EchoMode mode = QLineEdit::Normal, const QString & text = QString(), bool * ok = 0, Qt::WindowFlags flags = 0 )
0
warskull Messages postés 20 Date d'inscription vendredi 28 mai 2010 Statut Membre Dernière intervention 31 octobre 2012
10 juin 2010 à 13:27
Ok merci, et dans quelle variable sera le texte que l'utilisateur aura saisie ? Ou comment recuperer ce qu'il y'a dans le LineEdit ?
Pour ensuite le vérifier dans le " if "
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
10 juin 2010 à 14:12
en retour de la fonction. Regarde la documentation.
0
warskull Messages postés 20 Date d'inscription vendredi 28 mai 2010 Statut Membre Dernière intervention 31 octobre 2012
10 juin 2010 à 14:18
Désolé mais ça fait pas longtemps qu'on a commencé le C++ alors on comprend pas trop ^^'
Tu pourrais nous montrer comment utiliser tout ça
0
warskull Messages postés 20 Date d'inscription vendredi 28 mai 2010 Statut Membre Dernière intervention 31 octobre 2012
11 juin 2010 à 09:34
Ah ça y'est ça marche mais on a un autre problème...
La fenêtre qui s'ouvre pour saisir le mot de passe, s'ouvre directement lorsque l'on ouvre le programme alors que je veux la faire ouvrir quand on clic sur le bouton1.
Sinon à part ça le code marche bien, on a réussi à faire ouvrir le QMessageBox.
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
11 juin 2010 à 11:08
Il faut faire une nouvelle fonction slot (dans ta classe principale) et l'appeler dedans.
Il faut casser le corps de ta fonction.
0
warskull Messages postés 20 Date d'inscription vendredi 28 mai 2010 Statut Membre Dernière intervention 31 octobre 2012
11 juin 2010 à 11:16
Mais on travail sur un seul fichier, on a pas de class.
On arrive pas à faire ouvrir la fenêtre du mot de passe ou on veut...
Y'a pas d'autres moyens qu'avec les class ?
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
11 juin 2010 à 12:50
dans connect il demande un QObject si je me souviens bien. un QObject, c'est une classe. Tu ne peut faire appel à une fonction avec une connect uniquement si elle est dans une classe.
Faire des GUI, c'est faire de l'évènementiel, je ne vois pas comment tu pourrais y arriver avec un programme séquentiel simple...
0