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 3.0k 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.
  • 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