Problème avec les QInput Dialog de Qt

Fermé
DoMiN1ToR Messages postés 46 Date d'inscription vendredi 3 mars 2017 Statut Membre Dernière intervention 30 décembre 2018 - Modifié le 18 août 2017 à 10:41
mamiemando Messages postés 33076 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 17 avril 2024 - 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
A voir également:

3 réponses

mamiemando Messages postés 33076 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 17 avril 2024 7 748
Modifié le 18 août 2017 à 10:43
Bonjour,

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

Bonne chance
0
ThetaClic Messages postés 16 Date d'inscription vendredi 1 septembre 2017 Statut Membre Dernière intervention 15 décembre 2021
2 sept. 2017 à 10:18
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.
0
mamiemando Messages postés 33076 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 17 avril 2024 7 748
3 sept. 2017 à 18:43
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
0