Problème avec les QInput Dialog de Qt

DoMiN1ToR 45 Messages postés vendredi 3 mars 2017Date d'inscription 3 novembre 2017 Dernière intervention - 2 août 2017 à 16:17 - Dernière réponse : mamiemando 28088 Messages postés jeudi 12 mai 2005Date d'inscriptionModérateurStatut 12 décembre 2017 Dernière intervention
- 3 sept. 2017 à 18:43
Bonjour

J'aimerais faire une page d'identification en classe pour mon programme . J'en suis arrivé à ce code

#ifndef FENIDENTIFICATION_H
#define FENIDENTIFICATION_H

#include <QApplication>
#include <QWidget>
#include <QInputDialog>
class FenIdentification : public QWidget // création classe héritant QWidget
{
    Q_OBJECT
public:
    FenIdentification();

private:

};

#endif // FENIDENTIFICATION_H


Pour mon header et celui ci pour ma source :

#include "fenidentification.h"

FenIdentification::FenIdentification() : QWidget()
{
    bool ok = false;

    QString identifiant = QInputDialog::getText(this, "Identification", "Identifiant:", QlineEdit::Normal, QString(), &ok);

    if(ok && identifiant = "0000")
    {
        bool okMDP = false;
        QString motDePasse = QinputDialog::getText(this, "Identification", "Mot de passe:", QLineEdit::Password, QString(), &okMDP);

        if(okMDP && motDePasse = "0000")
        {
            QMessageBox::information(this, "Identification", "Content de vous revoir" + identifiant);
        }
    }
}


Mais au moment de la compilation plusieurs erreurs que je ne comprend pas arrive , pourquoi ? merci de votre aide
Afficher la suite 
45Messages postés vendredi 3 mars 2017Date d'inscription 3 novembre 2017 Dernière intervention

3 réponses

Répondre au sujet
mamiemando 28088 Messages postés jeudi 12 mai 2005Date d'inscriptionModérateurStatut 12 décembre 2017 Dernière intervention - Modifié par mamiemando le 18/08/2017 à 10:43
0
Utile
Bonjour,

Quelles sont les erreurs de compilation que tu ne comprends pas ?

Bonne chance
Commenter la réponse de mamiemando
ThetaClic 6 Messages postés vendredi 1 septembre 2017Date d'inscription 5 septembre 2017 Dernière intervention - 2 sept. 2017 à 10:18
0
Utile
Bonjour,
J'ai quelques questions sur l'expression
ok && identifiant = "0000"


L'expression
 identifiant = "0000"
est-elle censée tester si la chaîne
 identifiant
est vide ? Si elle contient
"0000"
elle n'est pas non vide ?

Ne vaudrait-il pas mieux forcer (par des parenthèses) l'évaluation de
 identifiant = "0000"
AVANT le ET logique ?
L'expression
 identifiant = "0000"
est-elle vraiment une expression booléenne ? N'est-ce pas plutôt une affectation ?

Voici un exemple d'utilisation de QInputDialog fourni par qt.developpez.com
     bool ok;
QString text = QInputDialog::getText(this, tr("QInputDialog::getText()"),
tr("User name:"), QLineEdit::Normal,
QDir::home().dirName(), &ok);


Et surtout
    if (ok && !text.isEmpty())

Pourquoi s'en éloigner ?
Bon courage.
Commenter la réponse de ThetaClic
mamiemando 28088 Messages postés jeudi 12 mai 2005Date d'inscriptionModérateurStatut 12 décembre 2017 Dernière intervention - 3 sept. 2017 à 18:43
0
Utile
Vu la manière dont le code est rédigé c'est clairement
==
qui devrait utilisé à la place de
=
.

Ensuite je pense que la casse n'est pas respecté pour certains nom de classe Qt (par exemple
QinputDialog
au lieu de
QInputDialog
, etc.)

Bonne chance
Commenter la réponse de mamiemando