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 -
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);
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:
- Mot de passe c++
- Trousseau mot de passe iphone - Guide
- Mot de passe - Guide
- Mot de passe administrateur - Guide
- Mot de passe bios perdu - Guide
- Voir mot de passe wifi android - Guide
8 réponses
Encore et toujours le problème de spécifications du compilateur (ou IDE), ainsi que les librairies utilisées...
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.
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.
Il faut appeler
if(mdp->text() == "azerty")
{
QMessageBox::information(mdp, "Mot de passe correct");
}
Dans un slot par exemple lancer par le bouton OK.
if(mdp->text() == "azerty")
{
QMessageBox::information(mdp, "Mot de passe correct");
}
Dans un slot par exemple lancer par le bouton OK.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
je dois mettre mdp dans slot ?
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.
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.
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 )
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 )
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.
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.
Il faut faire une nouvelle fonction slot (dans ta classe principale) et l'appeler dedans.
Il faut casser le corps de ta fonction.
Il faut casser le corps de ta fonction.
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 ?
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 ?
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...
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...