Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Bind Timer with a bool variable.
Qt 6.12 LTS is out! See what's new in the release blog

Bind Timer with a bool variable.

Scheduled Pinned Locked Moved Unsolved General and Desktop
36 Posts 6 Posters 10.3k Views 1 Watching
  • 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.
  • T thomasGl

    Hi, i stuck again. I am trying to show my label after 5 clicks on my Pushbutton else label should hide. How can i count 1 click after 1 click? My problem is the loop i have only managed to get 5 counts with no click. I need 1 count with 1 click on the button. I tried to put QObject::connect(but, &Button::clicked, but,&Button::count); in my loop instead of "but->count" but it does not work. Do i need a mousepressevent here?

    void Button::count()              //thats my method i have connected with my Button
    {
        counter++;
         qDebug()<<counter;
    }
    
    
    
    QObject::connect(but, &Button::clicked, but,&Button::count);    //Connection
    
    
    
        while (but->counter!=5)   //my loop
        {
            if(but->counter==5)
            {
                labb->show();
            }
            else
            {
               but->count();    //here i want to click and count
            }
        }
    
    
    
    
    Pl45m4P Offline
    Pl45m4P Offline
    Pl45m4
    wrote on last edited by
    #25

    @thomasGl

    The while loop blocks your counting on click. You dont need it.

    Add something like

    QObject::connect(but, &Button::clicked, this ,&MainWindow::onCount);
    
    
    MainWindow::onCount{
    if(but->counter==5)
            {
                labb->show();
            }
    
    }
    

    If debugging is the process of removing software bugs, then programming must be the process of putting them in.

    ~E. W. Dijkstra

    1 Reply Last reply
    2
    • T Offline
      T Offline
      thomasGl
      wrote on last edited by
      #26

      Hey. I how can i make that label to show my counter?

      void mainWin::onCount()
      {
          if(counter==4)
          {
              labb->show();
              labb->setText("Hello World");
          }
      
      
          counter++;
          
          qDebug()<<counter;    //i want that counter to be shown with that label2
          
          label2->setText(counter);  //i want that label to show my  counter
      
      
      
      }
      
      jsulmJ JonBJ 2 Replies Last reply
      0
      • T thomasGl

        Hey. I how can i make that label to show my counter?

        void mainWin::onCount()
        {
            if(counter==4)
            {
                labb->show();
                labb->setText("Hello World");
            }
        
        
            counter++;
            
            qDebug()<<counter;    //i want that counter to be shown with that label2
            
            label2->setText(counter);  //i want that label to show my  counter
        
        
        
        }
        
        jsulmJ Offline
        jsulmJ Offline
        jsulm
        Lifetime Qt Champion
        wrote on last edited by
        #27

        @thomasGl said in Bind Timer with a bool variable.:

        //i want that label to show my counter

        Then convert it to a string first using https://doc.qt.io/qt-6/qstring.html#number ...

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

        1 Reply Last reply
        0
        • T thomasGl

          Hey. I how can i make that label to show my counter?

          void mainWin::onCount()
          {
              if(counter==4)
              {
                  labb->show();
                  labb->setText("Hello World");
              }
          
          
              counter++;
              
              qDebug()<<counter;    //i want that counter to be shown with that label2
              
              label2->setText(counter);  //i want that label to show my  counter
          
          
          
          }
          
          JonBJ Offline
          JonBJ Offline
          JonB
          wrote on last edited by
          #28

          @thomasGl
          As you learn you need to read the documentation for yourself, not ask at every stage. QLabel::setText() accepts a QString as its argument. You have a number in counter. So look through/search the QString Class documentation page for a suitable method to convert a number to string....

          EDIT
          It seems @jsulm has already given this away. Shame! :( It's better you learn how to do programming than just ask and be told....

          jsulmJ 1 Reply Last reply
          1
          • JonBJ JonB

            @thomasGl
            As you learn you need to read the documentation for yourself, not ask at every stage. QLabel::setText() accepts a QString as its argument. You have a number in counter. So look through/search the QString Class documentation page for a suitable method to convert a number to string....

            EDIT
            It seems @jsulm has already given this away. Shame! :( It's better you learn how to do programming than just ask and be told....

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

            @JonB Agree. I really wonder why so many people ask questions which can be easily answered by simply looking at documentation...

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

            1 Reply Last reply
            1
            • T Offline
              T Offline
              thomasGl
              wrote on last edited by
              #30

              Hi guys. I dont understand why the button is sometimes not clickable while moving. So i am starting the Timer with one button click and after that the button is moving but sometime its unclickable.

              void mainWindow::timerStart()   //timer is starting
              {
                  if(counter==0)
                  {
                      sTimer->start(1000);
              
              void MainWindow::buttonMove()  //Pushbutton random position
              {
                  int x = rand() % 230;
                  int y = rand() % 245;
                  but->setGeometry(x, y, 50, 70);
              }
              
              
              QObject::connect(buttton,&Button::clicked,this,&MainWindow::timerStart);  //starts the timer
              
              
              QObject::connect(sTimer,&timer::timeout,this,&MainWindow::buttonMove); //every second the button is moving but i cant always click it because its unclickable i dont understand why? its a Pushbutton 
              
              jsulmJ 1 Reply Last reply
              0
              • T thomasGl

                Hi guys. I dont understand why the button is sometimes not clickable while moving. So i am starting the Timer with one button click and after that the button is moving but sometime its unclickable.

                void mainWindow::timerStart()   //timer is starting
                {
                    if(counter==0)
                    {
                        sTimer->start(1000);
                
                void MainWindow::buttonMove()  //Pushbutton random position
                {
                    int x = rand() % 230;
                    int y = rand() % 245;
                    but->setGeometry(x, y, 50, 70);
                }
                
                
                QObject::connect(buttton,&Button::clicked,this,&MainWindow::timerStart);  //starts the timer
                
                
                QObject::connect(sTimer,&timer::timeout,this,&MainWindow::buttonMove); //every second the button is moving but i cant always click it because its unclickable i dont understand why? its a Pushbutton 
                
                jsulmJ Offline
                jsulmJ Offline
                jsulm
                Lifetime Qt Champion
                wrote on last edited by
                #31

                @thomasGl Not possible to say with the code you posted. You can create a minimal compilable application which shows this issue and share it, so others can take a look.

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

                1 Reply Last reply
                0
                • T Offline
                  T Offline
                  thomasGl
                  wrote on last edited by
                  #32

                  how can i do that?

                  jsulmJ 1 Reply Last reply
                  0
                  • T thomasGl

                    how can i do that?

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

                    @thomasGl What exactly?

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

                    1 Reply Last reply
                    0
                    • T Offline
                      T Offline
                      thomasGl
                      wrote on last edited by thomasGl
                      #34

                      creating a minimal compilable application and post it. Do you mean my full code?

                      jsulmJ 1 Reply Last reply
                      0
                      • T Offline
                        T Offline
                        thomasGl
                        wrote on last edited by
                        #35

                        Ok my fault it works now. I need make more timer in my code.

                        1 Reply Last reply
                        0
                        • T thomasGl

                          creating a minimal compilable application and post it. Do you mean my full code?

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

                          @thomasGl said in Bind Timer with a bool variable.:

                          Do you mean my full code?

                          No, just a MINIMAL compilable application which shows the problem...

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

                          1 Reply Last reply
                          0

                          • Login

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