IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Discussion :

Interface d'authentification

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Enseignant
    Inscrit en
    Octobre 2014
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2014
    Messages : 135
    Points : 39
    Points
    39
    Par défaut Interface d'authentification
    Bonjour à tous,
    je suis nouvelle en développement en Qt, j'ai lu les tutoriels et j'ai installé QtCreator dans mon PC (32 bits)

    j'ai voulu commencer par un simple exemple de création d'interface graphique avec Qt: interface d'authentification qui contient deux champs texte Login et mot de passe qui doit etre masque et un bouton connexion

    voici Mon code il affiche chaque objet dans une fenêtre pas tous en une, pourquoi ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    #include <QtGui/QApplication>
    #include <QPushButton>
    #include <QWidget>
    #include <QLabel>
    #include <QLineEdit>
    #include "mainwindow.h"
    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
        QWidget fenetre;
        fenetre.setFixedSize(300,150);
        QLabel label("LOGIN :",&fenetre);
        QLineEdit champ("Taper votre username");
        label.show();
        champ.show();
        QPushButton BC("Connexion",&fenetre);
        BC.setFont(QFont("Arial",20));
        BC.show();
        fenetre.show();
        return a.exec();
    }

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 859
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 859
    Points : 218 580
    Points
    218 580
    Billets dans le blog
    120
    Par défaut
    Bonjour,

    Chaque élément d'interface utilisateur accepte un pointeur vers un QWidget appelé 'parent'. Lorsqu'on ne le met pas, le widget sera créer dans sa propre fenêtre (votre souci actuel), donc, rajoutez votre variable fenetre,dans les constructeurs de votre widget. Si vous ne voyez pas ce que je dis, lisez la documentation de QLineEdit
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    Enseignant
    Inscrit en
    Octobre 2014
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2014
    Messages : 135
    Points : 39
    Points
    39
    Par défaut
    j'ai pas compris
    pouvez vous me fournir un exemple simple de code clair

  4. #4
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 859
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 859
    Points : 218 580
    Points
    218 580
    Billets dans le blog
    120
    Par défaut
    J'aimerai que vous jetiez un oeil à la documentation, avant ou même, à nos tutoriels : http://qt.developpez.com/tutoriels/
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  5. #5
    Nouveau membre du Club
    Femme Profil pro
    Enseignant
    Inscrit en
    Octobre 2014
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2014
    Messages : 135
    Points : 39
    Points
    39
    Par défaut
    Merci LittleWhite pour la documentation.

    Voici une version améliorer de mon code Mais il reste le champ password en saissant n'est pas masqué par des étoiles ou points quel code je dois ajouter ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
     
    #include <QtGui>
    #include "mainwindow.h"
    int main(int argc, char *argv[])
    {
        QApplication app (argc, argv); //
     
        QLineEdit *log=new QLineEdit;
        QLineEdit *pwd=new QLineEdit;
     
        QFormLayout *layout=new QFormLayout;
        layout->addRow("LOGIN :",log); //Champ Login
        layout->addRow("PWD   :",pwd); //Champ Mot de passe
     
        QVBoxLayout *layoutPrincipal = new QVBoxLayout;
        layoutPrincipal->addLayout(layout); // Ajout du layout de formulaire
        QPushButton Connec("Connexion"); //Bouton
        Connec.setFont(QFont("Georgia",18));
        layoutPrincipal->addWidget(&Connec); // Ajout du bouton
     
        QWidget window;
        window.setFixedSize(300,150);
     
        window.setLayout(layoutPrincipal);
        window.setWindowTitle("Authentification");
        window.show();
     
        return app.exec();
    }

  6. #6
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 859
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 859
    Points : 218 580
    Points
    218 580
    Billets dans le blog
    120
    Par défaut
    Encore une fois, tout est dans la documentation : http://doc.qt.io/qt-5.4/qlineedit.html
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  7. #7
    Nouveau membre du Club
    Femme Profil pro
    Enseignant
    Inscrit en
    Octobre 2014
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2014
    Messages : 135
    Points : 39
    Points
    39
    Par défaut
    Thanks you littleWhite
    le champ de password est crypté

    je dois ajouter maintenant une action ou événement si je clique sur bouton Connexion est ce que ce code est juste ?? il affiche erreur lors de Build
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     QPushButton Connec("Connexion"); //Bouton
     Connec.setFont(QFont("Georgia",18));
     layoutPrincipal->addWidget(&Connec); // Ajout du bouton
    QObject::Connect(Connec,SIGNAL(clicked()),app,SLOT(Quit()));

  8. #8
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 859
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 859
    Points : 218 580
    Points
    218 580
    Billets dans le blog
    120
    Par défaut
    il affiche erreur lors de Build
    Donc il n'est pas juste et il faut lire l'erreur pour en savoir la raison.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  9. #9
    Nouveau membre du Club
    Femme Profil pro
    Enseignant
    Inscrit en
    Octobre 2014
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2014
    Messages : 135
    Points : 39
    Points
    39
    Par défaut
    il affiche qu'il ne connait pas QObject ??

  10. #10
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 859
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 859
    Points : 218 580
    Points
    218 580
    Billets dans le blog
    120
    Par défaut
    Rajoutez l'include approprié, alors.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  11. #11
    Nouveau membre du Club
    Femme Profil pro
    Enseignant
    Inscrit en
    Octobre 2014
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2014
    Messages : 135
    Points : 39
    Points
    39
    Par défaut
    lequel include <QtObject> ca marche non plus !!

  12. #12
    Membre expérimenté Avatar de SkyZoThreaD
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juillet 2013
    Messages
    583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juillet 2013
    Messages : 583
    Points : 1 615
    Points
    1 615
    Par défaut
    Tu dois utiliser qmake quand tu fais du qt. Ça permet d'ajouter des fichiers auto-générés pour prendre en compte l’utilisation des slots & signals qui n'éxistent pas en C. Il faut ajouter Q_OBJECT au début de ta class et lancer qmake pour qu'il génère tout. Pour te simplifier la vie, utilise un IDE qui gère Qt facilement comme Qtcreator bien-sur ou CodeLite (que j'affectionne beaucoup). Voici un exemple de class supportant les slots & signals Qt:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    class MyWidget : public QWidget
    {
        Q_OBJECT
     
    public:
        MyWidget();
        ~MyWidget();
     
    public slot:
        void mySlot();
    };
    La liberté est à la sociologie ce que l'instant présent est à la physique relativiste.

  13. #13
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 859
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 859
    Points : 218 580
    Points
    218 580
    Billets dans le blog
    120
    Par défaut
    La réponse de SkyZoThreaD est totalement correcte.

    Citation Envoyé par alias2015_29 Voir le message
    lequel include <QtObject> ca marche non plus !!
    Toutefois, j'aimerai énormément que vous lisiez la documentation : http://doc.qt.io/qt-4.8/qobject.html
    Vous voyez que c'est "QtObject" qu'il faut inclure, vous ?
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  14. #14
    Nouveau membre du Club
    Femme Profil pro
    Enseignant
    Inscrit en
    Octobre 2014
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2014
    Messages : 135
    Points : 39
    Points
    39
    Par défaut
    Merci voici tous le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    #include <QtGui>
    #include <QObject>
    #include "mainwindow.h"
     
    int main(int argc, char *argv[])
    {
        QApplication app (argc, argv); //Application qui contiendra les interfaces
        QVBoxLayout *layoutPrincipal = new QVBoxLayout;
        QPushButton Connec("Connexion"); //Bouton
        Connec.setFont(QFont("Georgia",18));
        layoutPrincipal->addWidget(&Connec); // Ajout du bouton
        QObject::Connect(Connec,SIGNAL(clicked()),app,SLOT(Quit()));
       return app.exec();
    }
    et message erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Connect is not a member of QObjet

  15. #15
    Membre émérite
    Avatar de Daïmanu
    Homme Profil pro
    Développeur touche à tout
    Inscrit en
    Janvier 2011
    Messages
    696
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur touche à tout

    Informations forums :
    Inscription : Janvier 2011
    Messages : 696
    Points : 2 438
    Points
    2 438
    Par défaut
    Bonjour.

    La fonction exacte est QObject::connect(), attention à la casse !
    Je fais appel aux esprits de Ritchie, Kernighan, Stroustrup et Alexandrescu
    Donnez moi la force, donnez moi le courage de coder proprement !

    « Ça marche pas » n'est PAS une réponse convenable, merci de détailler le souci en fournissant l’environnement, le code source, les commandes et les messages d'erreur.

    Ce club possède également un clavardage, on y trouve quelques perles entre deux sessions d'entraides.

  16. #16
    Nouveau membre du Club
    Femme Profil pro
    Enseignant
    Inscrit en
    Octobre 2014
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2014
    Messages : 135
    Points : 39
    Points
    39
    Par défaut
    c'est la première fois que je connais que Qt fais la différence entre majuscule et minuscule
    cette instruction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     QObject::connect(&Connec,SIGNAL(clicked()),&app,SLOT(Quit()));
    permet de quitter interface si je clique sur le bouton connec ?

  17. #17
    Membre émérite
    Avatar de Daïmanu
    Homme Profil pro
    Développeur touche à tout
    Inscrit en
    Janvier 2011
    Messages
    696
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur touche à tout

    Informations forums :
    Inscription : Janvier 2011
    Messages : 696
    Points : 2 438
    Points
    2 438
    Par défaut
    La fonction QApplication::quit() (et non Quit) ferme l'application.

    Donc en connectant ton bouton à cette fonction, tu vas provoquer la fermeture de l'appli lors du clic dessus.
    Je fais appel aux esprits de Ritchie, Kernighan, Stroustrup et Alexandrescu
    Donnez moi la force, donnez moi le courage de coder proprement !

    « Ça marche pas » n'est PAS une réponse convenable, merci de détailler le souci en fournissant l’environnement, le code source, les commandes et les messages d'erreur.

    Ce club possède également un clavardage, on y trouve quelques perles entre deux sessions d'entraides.

  18. #18
    Nouveau membre du Club
    Femme Profil pro
    Enseignant
    Inscrit en
    Octobre 2014
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2014
    Messages : 135
    Points : 39
    Points
    39
    Par défaut
    Donc je dois pas mettre le mot quit()
    Je dois faire appel a fonction qui vérifie si le user name= 'user' et mot de passe ='user' pour passer a deuxième fenetre

    comment je fais cet appel de fonction SLOT(nom fonction) ?

  19. #19
    Membre expérimenté Avatar de SkyZoThreaD
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juillet 2013
    Messages
    583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juillet 2013
    Messages : 583
    Points : 1 615
    Points
    1 615
    Par défaut
    comment je fais cet appel de fonction SLOT(nom fonction) ?
    Tu dois faire une fonction "slot" qui ne peut faire partie que d'une classe Q_OBJECT. La fonction QApplication::quit() est aussi un slot qui est prédéfinie dans QApplication mais rien ne t’empêche de créer ton propre slot pour gérer la partie authentification de ton programme. Cependant, tu devrais lire des tutoriels sur l'utilisation de QT. Tu comprendrais beaucoup plus vite le fonctionnement de Qt qui n'est pas du tout évident pour les profanes.
    La liberté est à la sociologie ce que l'instant présent est à la physique relativiste.

Discussions similaires

  1. interface pour authentification
    Par kensem dans le forum C#
    Réponses: 14
    Dernier message: 02/10/2014, 15h01
  2. Accès à internet par interface d'authentification avec Ubuntu
    Par L'aigle de Carthage dans le forum Réseau
    Réponses: 0
    Dernier message: 03/02/2011, 12h45
  3. Corriger mon interface d'authentification
    Par amuossa dans le forum NetBeans Platform
    Réponses: 2
    Dernier message: 13/06/2010, 00h50
  4. interface d'authentification en js
    Par fahmi.bedoui dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 12/04/2010, 01h39
  5. Réponses: 2
    Dernier message: 16/11/2009, 11h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo