Mot de passe c++

warskull Messages postés 20 Date d'inscription   Statut Membre Dernière intervention   -  
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   -
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);
A voir également:

8 réponses

kouki1000 Messages postés 108 Date d'inscription   Statut Membre Dernière intervention   9
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention   9
 
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   Statut Membre Dernière intervention  
 
Merci quand même...
Quelqu'un d'autre sait ? ^^
0
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
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   Statut Membre Dernière intervention  
 
je dois mettre mdp dans slot ?
0
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
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   Statut Contributeur Dernière intervention   1 299
 
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   Statut Membre Dernière intervention  
 
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   Statut Contributeur Dernière intervention   1 299
 
en retour de la fonction. Regarde la documentation.
0
warskull Messages postés 20 Date d'inscription   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
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   Statut Contributeur Dernière intervention   1 299
 
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   Statut Membre Dernière intervention  
 
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   Statut Contributeur Dernière intervention   1 299
 
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