Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Qt Creator and other tools
  4. Problem login window
Qt 6.11 is out! See what's new in the release blog

Problem login window

Scheduled Pinned Locked Moved Unsolved Qt Creator and other tools
15 Posts 4 Posters 2.8k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • F fra_mecc

    Hi,
    on my Main Window I entered an icon for login. 0_1530238704110_Cattura.JPG
    I would like the icon to go off after you have logged in or or I would like a window to come out: "Access already done" and an option to disconnect.
    can you help me please?
    (Sorry my english)

    jsulmJ Offline
    jsulmJ Offline
    jsulm
    Lifetime Qt Champion
    wrote on last edited by
    #2

    @fra_mecc http://doc.qt.io/qt-5/qwidget.html#enabled-prop

    https://forum.qt.io/topic/113070/qt-code-of-conduct

    F 1 Reply Last reply
    2
    • jsulmJ jsulm

      @fra_mecc http://doc.qt.io/qt-5/qwidget.html#enabled-prop

      F Offline
      F Offline
      fra_mecc
      wrote on last edited by
      #3

      @jsulm said in Problem login window:

      @fra_mecc http://doc.qt.io/qt-5/qwidget.html#enabled-prop

      Thank you so much but I still do not understand how I can tell Qt that the icono must go off if the condition (username and password == "test")

      jsulmJ 1 Reply Last reply
      0
      • F fra_mecc

        @jsulm said in Problem login window:

        @fra_mecc http://doc.qt.io/qt-5/qwidget.html#enabled-prop

        Thank you so much but I still do not understand how I can tell Qt that the icono must go off if the condition (username and password == "test")

        jsulmJ Offline
        jsulmJ Offline
        jsulm
        Lifetime Qt Champion
        wrote on last edited by
        #4

        @fra_mecc

        ui->button->setEnabled(false);
        

        Where exactly is the problem?

        https://forum.qt.io/topic/113070/qt-code-of-conduct

        F 2 Replies Last reply
        2
        • jsulmJ jsulm

          @fra_mecc

          ui->button->setEnabled(false);
          

          Where exactly is the problem?

          F Offline
          F Offline
          fra_mecc
          wrote on last edited by
          #5

          @jsulm Sorry, I expressed myself badly. I've already done this. I do not understand how to make Qt understand the login condition

          1 Reply Last reply
          0
          • jsulmJ jsulm

            @fra_mecc

            ui->button->setEnabled(false);
            

            Where exactly is the problem?

            F Offline
            F Offline
            fra_mecc
            wrote on last edited by
            #6

            @jsulm I should define a function (?) so if "Username and password == test" then my icon goes off. But I do not know how to define the function

            ODБOïO 1 Reply Last reply
            0
            • F fra_mecc

              @jsulm I should define a function (?) so if "Username and password == test" then my icon goes off. But I do not know how to define the function

              ODБOïO Offline
              ODБOïO Offline
              ODБOï
              wrote on last edited by
              #7

              @fra_mecc hi,
              Whitch kind of application is this? Could you show your code exemple ?

              one solution could be to having states on your client, ( connected, disconnected )
              Create a boolean bool connected=false;
              then in your connection funtion, if (username=="test" && pass=="test") connected=true

              after this you can use 'connected' as condition

              //qml exemple
              Image{
              source : connected ? "img/disconect.png" : "img/connect.png"
              }

              F 1 Reply Last reply
              0
              • ODБOïO ODБOï

                @fra_mecc hi,
                Whitch kind of application is this? Could you show your code exemple ?

                one solution could be to having states on your client, ( connected, disconnected )
                Create a boolean bool connected=false;
                then in your connection funtion, if (username=="test" && pass=="test") connected=true

                after this you can use 'connected' as condition

                //qml exemple
                Image{
                source : connected ? "img/disconect.png" : "img/connect.png"
                }

                F Offline
                F Offline
                fra_mecc
                wrote on last edited by fra_mecc
                #8

                @LeLev I did not understand much ..I show you the code of dialog file:

                #include "accedi.h"
                #include "ui_accedi.h"
                #include <QMessageBox>
                #include <QLineEdit>
                
                Accedi::Accedi(QWidget *parent) :
                    QDialog(parent),
                    ui(new Ui::Accedi)
                {
                    ui->setupUi(this);
                    setWindowTitle("Accedi");
                    setWindowIcon(QIcon("accedi.png"));
                }
                
                Accedi::~Accedi()
                {
                    delete ui;
                }
                
                void Accedi::on_buttonBox_accepted()
                {
                
                }
                
                void Accedi::on_pushButton_2_clicked()
                {
                    hide();
                }
                
                void Accedi::on_pushButton_clicked()
                {
                    QString username = ui->lineEdit_username->text();
                    QString password = ui->lineEdit_password->text();
                
                    if(username == "test" && password == "test") {
                        ui->status->setText("Accesso effettuato.");
                        QMessageBox::information(this, "Accesso effettuato",
                                                       "Bentornato! \nOra potrai usare il programma registrando automaticamente i risultati sul tuo account.");
                        hide();
                        ui->status->clear();
                        ui->status->setText("Connessione...");
                        ui->lineEdit_username->clear();
                        ui->lineEdit_password->clear();
                
                
                    }
                    else {
                        ui->status->setText("Accesso Negato! Username o password errati");
                        //ui->status->clear();
                        ui->lineEdit_username->clear();
                        ui->lineEdit_password->clear();
                
                        //QMessageBox::warning(this, "Accesso negato", "Username e password sono errati");
                    }
                
                
                
                }
                
                ```and this is the part of code of Main Windows (where there is the icon):
                

                }

                void MainWindow::on_actionLogin_2_triggered()
                {
                login->show();
                }

                ODБOïO 1 Reply Last reply
                0
                • F fra_mecc

                  @LeLev I did not understand much ..I show you the code of dialog file:

                  #include "accedi.h"
                  #include "ui_accedi.h"
                  #include <QMessageBox>
                  #include <QLineEdit>
                  
                  Accedi::Accedi(QWidget *parent) :
                      QDialog(parent),
                      ui(new Ui::Accedi)
                  {
                      ui->setupUi(this);
                      setWindowTitle("Accedi");
                      setWindowIcon(QIcon("accedi.png"));
                  }
                  
                  Accedi::~Accedi()
                  {
                      delete ui;
                  }
                  
                  void Accedi::on_buttonBox_accepted()
                  {
                  
                  }
                  
                  void Accedi::on_pushButton_2_clicked()
                  {
                      hide();
                  }
                  
                  void Accedi::on_pushButton_clicked()
                  {
                      QString username = ui->lineEdit_username->text();
                      QString password = ui->lineEdit_password->text();
                  
                      if(username == "test" && password == "test") {
                          ui->status->setText("Accesso effettuato.");
                          QMessageBox::information(this, "Accesso effettuato",
                                                         "Bentornato! \nOra potrai usare il programma registrando automaticamente i risultati sul tuo account.");
                          hide();
                          ui->status->clear();
                          ui->status->setText("Connessione...");
                          ui->lineEdit_username->clear();
                          ui->lineEdit_password->clear();
                  
                  
                      }
                      else {
                          ui->status->setText("Accesso Negato! Username o password errati");
                          //ui->status->clear();
                          ui->lineEdit_username->clear();
                          ui->lineEdit_password->clear();
                  
                          //QMessageBox::warning(this, "Accesso negato", "Username e password sono errati");
                      }
                  
                  
                  
                  }
                  
                  ```and this is the part of code of Main Windows (where there is the icon):
                  

                  }

                  void MainWindow::on_actionLogin_2_triggered()
                  {
                  login->show();
                  }

                  ODБOïO Offline
                  ODБOïO Offline
                  ODБOï
                  wrote on last edited by
                  #9

                  @fra_mecc

                  if(username == "test" && password == "test") {
                          ui->status->setText("Accesso effettuato.");
                  
                  // can't you change your image here ?  ui->yourIcon->setEnabled(false);
                  
                          QMessageBox::information(this, "Accesso effettuato",
                                                         "Bentornato! \nOra potrai usare il programma registrando automaticamente i risultati sul tuo account.");
                          hide();
                          ui->status->clear();
                          ui->status->setText("Connessione...");
                          ui->lineEdit_username->clear();
                          ui->lineEdit_password->clear();
                  
                  
                      }
                      else {
                          ui->status->setText("Accesso Negato! Username o password errati");
                          //ui->status->clear();
                          ui->lineEdit_username->clear();
                          ui->lineEdit_password->clear();
                  
                          //QMessageBox::warning(this, "Accesso negato", "Username e password sono errati");
                      }
                  
                  F 1 Reply Last reply
                  1
                  • ODБOïO ODБOï

                    @fra_mecc

                    if(username == "test" && password == "test") {
                            ui->status->setText("Accesso effettuato.");
                    
                    // can't you change your image here ?  ui->yourIcon->setEnabled(false);
                    
                            QMessageBox::information(this, "Accesso effettuato",
                                                           "Bentornato! \nOra potrai usare il programma registrando automaticamente i risultati sul tuo account.");
                            hide();
                            ui->status->clear();
                            ui->status->setText("Connessione...");
                            ui->lineEdit_username->clear();
                            ui->lineEdit_password->clear();
                    
                    
                        }
                        else {
                            ui->status->setText("Accesso Negato! Username o password errati");
                            //ui->status->clear();
                            ui->lineEdit_username->clear();
                            ui->lineEdit_password->clear();
                    
                            //QMessageBox::warning(this, "Accesso negato", "Username e password sono errati");
                        }
                    
                    F Offline
                    F Offline
                    fra_mecc
                    wrote on last edited by
                    #10

                    @LeLev ui-> yourIcon->setEnabled(false); it's a piece of code that belongs to the main window while the if loop belongs to a "login" file.
                    It does not let me insert the Main Windows code in the other file

                    KillerSmathK 1 Reply Last reply
                    0
                    • F fra_mecc

                      @LeLev ui-> yourIcon->setEnabled(false); it's a piece of code that belongs to the main window while the if loop belongs to a "login" file.
                      It does not let me insert the Main Windows code in the other file

                      KillerSmathK Offline
                      KillerSmathK Offline
                      KillerSmath
                      wrote on last edited by
                      #11

                      @fra_mecc

                      if loop belongs to a "login" file.
                      It does not let me insert the Main Windows code in the other file

                      You could emit the accept or reject signal of dialog and capture them of mainwindow:
                      NOTE: when accept or reject signals are emitted, your dialog is forced to close.

                      Login Dialog cpp

                      if(username == "test" && password == "test") {
                              ui->status->setText("Accesso effettuato.");
                      
                              QMessageBox::information(this, "Accesso effettuato",
                                                             "Bentornato! \nOra potrai usare il programma registrando automaticamente i risultati sul tuo account.");
                              ui->status->clear();
                              ui->status->setText("Connessione...");
                              ui->lineEdit_username->clear();
                              ui->lineEdit_password->clear();
                      
                              accept(); // emit accept signal
                          }
                          else {
                              ui->status->setText("Accesso Negato! Username o password errati");
                              ui->lineEdit_username->clear();
                              ui->lineEdit_password->clear();
                      
                              //QMessageBox::warning(this, "Accesso negato", "Username e password sono errati");
                          }
                      

                      main window :

                      void MainWindow::on_actionLogin_2_triggered () 
                      { 
                        int returnCode = login->exec();
                      
                        if(returnCode == QDialog::Accepted)  // returns by accept signal
                           ui->yourIcon->setEnabled(false);
                        else if(dialogCode == QDialog::Rejected)
                           ui->yourIcon->setEnabled(true);
                      }
                      

                      or you can connect thefinished (int)signal of login dialog to a mainwindow slot or lambda function and do the same action.

                      @Computer Science Student - Brazil
                      Web Developer and Researcher
                      “Sometimes it’s the people no one imagines anything of who do the things that no one can imagine.” - Alan Turing

                      F 2 Replies Last reply
                      5
                      • KillerSmathK KillerSmath

                        @fra_mecc

                        if loop belongs to a "login" file.
                        It does not let me insert the Main Windows code in the other file

                        You could emit the accept or reject signal of dialog and capture them of mainwindow:
                        NOTE: when accept or reject signals are emitted, your dialog is forced to close.

                        Login Dialog cpp

                        if(username == "test" && password == "test") {
                                ui->status->setText("Accesso effettuato.");
                        
                                QMessageBox::information(this, "Accesso effettuato",
                                                               "Bentornato! \nOra potrai usare il programma registrando automaticamente i risultati sul tuo account.");
                                ui->status->clear();
                                ui->status->setText("Connessione...");
                                ui->lineEdit_username->clear();
                                ui->lineEdit_password->clear();
                        
                                accept(); // emit accept signal
                            }
                            else {
                                ui->status->setText("Accesso Negato! Username o password errati");
                                ui->lineEdit_username->clear();
                                ui->lineEdit_password->clear();
                        
                                //QMessageBox::warning(this, "Accesso negato", "Username e password sono errati");
                            }
                        

                        main window :

                        void MainWindow::on_actionLogin_2_triggered () 
                        { 
                          int returnCode = login->exec();
                        
                          if(returnCode == QDialog::Accepted)  // returns by accept signal
                             ui->yourIcon->setEnabled(false);
                          else if(dialogCode == QDialog::Rejected)
                             ui->yourIcon->setEnabled(true);
                        }
                        

                        or you can connect thefinished (int)signal of login dialog to a mainwindow slot or lambda function and do the same action.

                        F Offline
                        F Offline
                        fra_mecc
                        wrote on last edited by
                        #12
                        This post is deleted!
                        1 Reply Last reply
                        0
                        • KillerSmathK KillerSmath

                          @fra_mecc

                          if loop belongs to a "login" file.
                          It does not let me insert the Main Windows code in the other file

                          You could emit the accept or reject signal of dialog and capture them of mainwindow:
                          NOTE: when accept or reject signals are emitted, your dialog is forced to close.

                          Login Dialog cpp

                          if(username == "test" && password == "test") {
                                  ui->status->setText("Accesso effettuato.");
                          
                                  QMessageBox::information(this, "Accesso effettuato",
                                                                 "Bentornato! \nOra potrai usare il programma registrando automaticamente i risultati sul tuo account.");
                                  ui->status->clear();
                                  ui->status->setText("Connessione...");
                                  ui->lineEdit_username->clear();
                                  ui->lineEdit_password->clear();
                          
                                  accept(); // emit accept signal
                              }
                              else {
                                  ui->status->setText("Accesso Negato! Username o password errati");
                                  ui->lineEdit_username->clear();
                                  ui->lineEdit_password->clear();
                          
                                  //QMessageBox::warning(this, "Accesso negato", "Username e password sono errati");
                              }
                          

                          main window :

                          void MainWindow::on_actionLogin_2_triggered () 
                          { 
                            int returnCode = login->exec();
                          
                            if(returnCode == QDialog::Accepted)  // returns by accept signal
                               ui->yourIcon->setEnabled(false);
                            else if(dialogCode == QDialog::Rejected)
                               ui->yourIcon->setEnabled(true);
                          }
                          

                          or you can connect thefinished (int)signal of login dialog to a mainwindow slot or lambda function and do the same action.

                          F Offline
                          F Offline
                          fra_mecc
                          wrote on last edited by
                          #13

                          @KillerSmath Resolved! Thanks so much! I do not know how to thank you..

                          ODБOïO jsulmJ 2 Replies Last reply
                          3
                          • F fra_mecc

                            @KillerSmath Resolved! Thanks so much! I do not know how to thank you..

                            ODБOïO Offline
                            ODБOïO Offline
                            ODБOï
                            wrote on last edited by
                            #14

                            @fra_mecc up vote him :p

                            1 Reply Last reply
                            2
                            • F fra_mecc

                              @KillerSmath Resolved! Thanks so much! I do not know how to thank you..

                              jsulmJ Offline
                              jsulmJ Offline
                              jsulm
                              Lifetime Qt Champion
                              wrote on last edited by
                              #15

                              @fra_mecc Keep in mind that it is very easy to find the user name and password in your executable. So, if an user with a bit of knowledge gets your app he/she will extract the user name and password from the executable file.

                              https://forum.qt.io/topic/113070/qt-code-of-conduct

                              1 Reply Last reply
                              2

                              • Login

                              • Login or register to search.
                              • First post
                                Last post
                              0
                              • Categories
                              • Recent
                              • Tags
                              • Popular
                              • Users
                              • Groups
                              • Search
                              • Get Qt Extensions
                              • Unsolved