Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Time delay in loading progress bar (GIF Format)

Time delay in loading progress bar (GIF Format)

Scheduled Pinned Locked Moved Solved General and Desktop
18 Posts 3 Posters 1.2k 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.
  • S sankarapandiyan
    6 Nov 2019, 12:14

    @jsulm Is there is any way to free the event loop and execute this code as the way by itself without thread . Because i am using GIF Format only thats why i am asking .

    J Offline
    J Offline
    jsulm
    Lifetime Qt Champion
    wrote on 6 Nov 2019, 12:39 last edited by
    #8

    @sankarapandiyan There is an easy way to move some work into another thread: https://doc.qt.io/qt-5/qtconcurrentrun.html

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

    1 Reply Last reply
    1
    • J jsulm
      6 Nov 2019, 12:28

      @sankarapandiyan There is a dirty workaround: calling https://doc.qt.io/qt-5/qcoreapplication.html#processEvents inside on_pushButton_4_clicked() as often as possible. But it is really this: dirty workaround.

      J Offline
      J Offline
      JonB
      wrote on 6 Nov 2019, 12:46 last edited by JonB 11 Jun 2019, 12:46
      #9

      @jsulm
      I don't want to sully this discussion, but could you just give a quick "yes" or "no" to my

      But in any case, is it safe to use processEvents() inside a slot? Won't that potentially mess things up?

      e.g. can't user press button a second time while in slot for first time and cause havoc?

      J 1 Reply Last reply 6 Nov 2019, 12:55
      1
      • J JonB
        6 Nov 2019, 12:46

        @jsulm
        I don't want to sully this discussion, but could you just give a quick "yes" or "no" to my

        But in any case, is it safe to use processEvents() inside a slot? Won't that potentially mess things up?

        e.g. can't user press button a second time while in slot for first time and cause havoc?

        J Offline
        J Offline
        jsulm
        Lifetime Qt Champion
        wrote on 6 Nov 2019, 12:55 last edited by
        #10

        @JonB said in Time delay in loading progress bar (GIF Format):

        e.g. can't user press button a second time while in slot for first time and cause havoc?

        I guess he/she can :-)
        But same applies to using thread: you have to make sure you don't trigger the same action when it is already being executed. Not hard to implement (disconnect the slot or use a guard variable).

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

        1 Reply Last reply
        5
        • S Offline
          S Offline
          sankarapandiyan
          wrote on 7 Nov 2019, 09:20 last edited by
          #11

          @jsulm @JonB I have used process event( ), And i get a output what i want .. But at last both the progress bar gif windows and task windows are closed automatically .Here i want to hide a progress bar gif window at last , but here both windows are closed . So how to fix this problem .

          this is my code

          void MainWindow::on_pushButton_4_clicked()
          {
              QMovie*movie=new QMovie(":/somegif.gif");
              qDebug() << "test1";
                  if(!movie->isValid()){
                      //something went Wrong
                      return;
                  }
                  //play GIF
                  auto label=new QLabel();
                  label->resize(400,180);
                  label->setMovie(movie);
                  label->show();
                  movie->start();
          
                  QTimer*timer=new QTimer(this);
                  connect(timer,SIGNAL(timeout()),this,SLOT(PrintDebugInTimer()));
                  timer->start(1000);
                  //start time to close it after 10 sec
                  QTimer::singleShot(10000,[label,&timer]{
                     // label->close();
                      label->deleteLater();
                      timer->stop();
                  });
          
              Mat image = imread("/home/pi/test.jpg");
              //Rect myROI(445, 745, 400, 400);
              //Mat crop = image(myROI);
              //imwrite("/home/pi/1.png", crop);
              Mat roi1 = image( Rect(2000,730,400,400));
              Mat roi2 = image( Rect(1220,720,400,400));
              Mat roi3 = image( Rect(445,745,400,400));
              imwrite("/home/pi/1.png", roi1);
              imwrite("/home/pi/2.png", roi2);
              imwrite("/home/pi/3.png", roi3);
          
              digitalWrite(7,LOW);
              digitalWrite(5,HIGH);
          
              for(int i=0;i<(35*50);i++)
              {
                  QCoreApplication::processEvents();
          
                  digitalWrite(4,1);
                  //delay(0.5);//for milliseconds
                  usleep(250);//for micro seconds
                  digitalWrite(4,0);
                  //delay(0.5);//for milliseconds
                  usleep(250);//for micro seconds
              }
              digitalWrite(7,HIGH);
              popMessageBox();
              Mat image1 = imread("/home/pi/test.jpg");
              Mat roi4 = image1( Rect(2000,730,400,400));
              Mat roi5 = image1( Rect(1220,720,400,400));
              Mat roi6 = image1( Rect(445,745,400,400));
              imwrite("/home/pi/4.png", roi4);
              imwrite("/home/pi/5.png", roi5);
              imwrite("/home/pi/6.png", roi6);
              digitalWrite(7,LOW);
              digitalWrite(5,HIGH);
          
              for(int i=0;i<(34*50);i++)
              {
                  QCoreApplication::processEvents();
          
                  digitalWrite(4,1);
                  //delay(0.5);//for milliseconds
                  usleep(250);//for micro seconds
                  digitalWrite(4,0);
                  //delay(0.5);//for milliseconds
                  usleep(250);//for micro seconds
              }
              digitalWrite(7,HIGH);
              popMessageBox();
              Mat image2 = imread("/home/pi/test.jpg");
              Mat roi7 = image2( Rect(2000,730,400,400));
              Mat roi8 = image2( Rect(1220,720,400,400));
              Mat roi9 = image2( Rect(445,745,400,400));
              imwrite("/home/pi/7.png", roi7);
              imwrite("/home/pi/8.png", roi8);
              imwrite("/home/pi/9.png", roi9);
              digitalWrite(7,LOW);
              digitalWrite(5,HIGH);
          
              for(int i=0;i<(34*50);i++)
              {
                  QCoreApplication::processEvents();
          
                  digitalWrite(4,1);
                  //delay(0.5);//for milliseconds
                  usleep(250);//for micro seconds
                  digitalWrite(4,0);
                  //delay(0.5);//for milliseconds
                  usleep(250);//for micro seconds
              }
              digitalWrite(7,HIGH);
              popMessageBox();
              Mat image3 = imread("/home/pi/test.jpg");
              Mat roi10 = image3( Rect(2000,730,400,400));
              Mat roi11 = image3( Rect(1220,720,400,400));
              imwrite("/home/pi/10.png", roi10);
              imwrite("/home/pi/11.png", roi11);
          
              QPixmap pix1,pix2,pix3,pix4,pix5,pix6,pix7,pix8,pix9,pix10,pix11;
              pix1.load("/home/pi/11.png");
              pix2.load("/home/pi/10.png");
              pix3.load("/home/pi/9.png");
              pix4.load("/home/pi/8.png");
              pix5.load("/home/pi/7.png");
              pix6.load("/home/pi/6.png");
              pix7.load("/home/pi/5.png");
              pix8.load("/home/pi/4.png");
              pix9.load("/home/pi/3.png");
              pix10.load("/home/pi/2.png");
              pix11.load("/home/pi/1.png");
              pix1 = pix1.scaled(100, 100, Qt::KeepAspectRatio, Qt::SmoothTransformation);
              pix2 = pix2.scaled(100, 100, Qt::KeepAspectRatio, Qt::SmoothTransformation);
              pix3 = pix3.scaled(100, 100, Qt::KeepAspectRatio, Qt::SmoothTransformation);
              pix4 = pix4.scaled(100, 100, Qt::KeepAspectRatio, Qt::SmoothTransformation);
              pix5 = pix5.scaled(100, 100, Qt::KeepAspectRatio, Qt::SmoothTransformation);
              pix6 = pix6.scaled(100, 100, Qt::KeepAspectRatio, Qt::SmoothTransformation);
              pix7 = pix7.scaled(100, 100, Qt::KeepAspectRatio, Qt::SmoothTransformation);
              pix8 = pix8.scaled(100, 100, Qt::KeepAspectRatio, Qt::SmoothTransformation);
              pix9 = pix9.scaled(100, 100, Qt::KeepAspectRatio, Qt::SmoothTransformation);
              pix10 = pix10.scaled(100, 100, Qt::KeepAspectRatio, Qt::SmoothTransformation);
          
          
          
              ui->label_3->setPixmap(pix1);
              ui->label_4->setPixmap(pix2);
              ui->label_5->setPixmap(pix3);
              ui->label_6->setPixmap(pix4);
              ui->label_7->setPixmap(pix5);
              ui->label_8->setPixmap(pix6);
              ui->label_9->setPixmap(pix7);
              ui->label_10->setPixmap(pix8);
              ui->label_11->setPixmap(pix9);
              ui->label_12->setPixmap(pix10);
              ui->label_13->setPixmap(pix11);
              Scalar meanValue;
              meanValue = mean(roi1);
              
              qDebug()<<meanValue[0];
              qDebug()<<meanValue[1];
              qDebug()<<meanValue[2];
          
          
          }
          
          J 1 Reply Last reply 7 Nov 2019, 09:26
          0
          • S sankarapandiyan
            7 Nov 2019, 09:20

            @jsulm @JonB I have used process event( ), And i get a output what i want .. But at last both the progress bar gif windows and task windows are closed automatically .Here i want to hide a progress bar gif window at last , but here both windows are closed . So how to fix this problem .

            this is my code

            void MainWindow::on_pushButton_4_clicked()
            {
                QMovie*movie=new QMovie(":/somegif.gif");
                qDebug() << "test1";
                    if(!movie->isValid()){
                        //something went Wrong
                        return;
                    }
                    //play GIF
                    auto label=new QLabel();
                    label->resize(400,180);
                    label->setMovie(movie);
                    label->show();
                    movie->start();
            
                    QTimer*timer=new QTimer(this);
                    connect(timer,SIGNAL(timeout()),this,SLOT(PrintDebugInTimer()));
                    timer->start(1000);
                    //start time to close it after 10 sec
                    QTimer::singleShot(10000,[label,&timer]{
                       // label->close();
                        label->deleteLater();
                        timer->stop();
                    });
            
                Mat image = imread("/home/pi/test.jpg");
                //Rect myROI(445, 745, 400, 400);
                //Mat crop = image(myROI);
                //imwrite("/home/pi/1.png", crop);
                Mat roi1 = image( Rect(2000,730,400,400));
                Mat roi2 = image( Rect(1220,720,400,400));
                Mat roi3 = image( Rect(445,745,400,400));
                imwrite("/home/pi/1.png", roi1);
                imwrite("/home/pi/2.png", roi2);
                imwrite("/home/pi/3.png", roi3);
            
                digitalWrite(7,LOW);
                digitalWrite(5,HIGH);
            
                for(int i=0;i<(35*50);i++)
                {
                    QCoreApplication::processEvents();
            
                    digitalWrite(4,1);
                    //delay(0.5);//for milliseconds
                    usleep(250);//for micro seconds
                    digitalWrite(4,0);
                    //delay(0.5);//for milliseconds
                    usleep(250);//for micro seconds
                }
                digitalWrite(7,HIGH);
                popMessageBox();
                Mat image1 = imread("/home/pi/test.jpg");
                Mat roi4 = image1( Rect(2000,730,400,400));
                Mat roi5 = image1( Rect(1220,720,400,400));
                Mat roi6 = image1( Rect(445,745,400,400));
                imwrite("/home/pi/4.png", roi4);
                imwrite("/home/pi/5.png", roi5);
                imwrite("/home/pi/6.png", roi6);
                digitalWrite(7,LOW);
                digitalWrite(5,HIGH);
            
                for(int i=0;i<(34*50);i++)
                {
                    QCoreApplication::processEvents();
            
                    digitalWrite(4,1);
                    //delay(0.5);//for milliseconds
                    usleep(250);//for micro seconds
                    digitalWrite(4,0);
                    //delay(0.5);//for milliseconds
                    usleep(250);//for micro seconds
                }
                digitalWrite(7,HIGH);
                popMessageBox();
                Mat image2 = imread("/home/pi/test.jpg");
                Mat roi7 = image2( Rect(2000,730,400,400));
                Mat roi8 = image2( Rect(1220,720,400,400));
                Mat roi9 = image2( Rect(445,745,400,400));
                imwrite("/home/pi/7.png", roi7);
                imwrite("/home/pi/8.png", roi8);
                imwrite("/home/pi/9.png", roi9);
                digitalWrite(7,LOW);
                digitalWrite(5,HIGH);
            
                for(int i=0;i<(34*50);i++)
                {
                    QCoreApplication::processEvents();
            
                    digitalWrite(4,1);
                    //delay(0.5);//for milliseconds
                    usleep(250);//for micro seconds
                    digitalWrite(4,0);
                    //delay(0.5);//for milliseconds
                    usleep(250);//for micro seconds
                }
                digitalWrite(7,HIGH);
                popMessageBox();
                Mat image3 = imread("/home/pi/test.jpg");
                Mat roi10 = image3( Rect(2000,730,400,400));
                Mat roi11 = image3( Rect(1220,720,400,400));
                imwrite("/home/pi/10.png", roi10);
                imwrite("/home/pi/11.png", roi11);
            
                QPixmap pix1,pix2,pix3,pix4,pix5,pix6,pix7,pix8,pix9,pix10,pix11;
                pix1.load("/home/pi/11.png");
                pix2.load("/home/pi/10.png");
                pix3.load("/home/pi/9.png");
                pix4.load("/home/pi/8.png");
                pix5.load("/home/pi/7.png");
                pix6.load("/home/pi/6.png");
                pix7.load("/home/pi/5.png");
                pix8.load("/home/pi/4.png");
                pix9.load("/home/pi/3.png");
                pix10.load("/home/pi/2.png");
                pix11.load("/home/pi/1.png");
                pix1 = pix1.scaled(100, 100, Qt::KeepAspectRatio, Qt::SmoothTransformation);
                pix2 = pix2.scaled(100, 100, Qt::KeepAspectRatio, Qt::SmoothTransformation);
                pix3 = pix3.scaled(100, 100, Qt::KeepAspectRatio, Qt::SmoothTransformation);
                pix4 = pix4.scaled(100, 100, Qt::KeepAspectRatio, Qt::SmoothTransformation);
                pix5 = pix5.scaled(100, 100, Qt::KeepAspectRatio, Qt::SmoothTransformation);
                pix6 = pix6.scaled(100, 100, Qt::KeepAspectRatio, Qt::SmoothTransformation);
                pix7 = pix7.scaled(100, 100, Qt::KeepAspectRatio, Qt::SmoothTransformation);
                pix8 = pix8.scaled(100, 100, Qt::KeepAspectRatio, Qt::SmoothTransformation);
                pix9 = pix9.scaled(100, 100, Qt::KeepAspectRatio, Qt::SmoothTransformation);
                pix10 = pix10.scaled(100, 100, Qt::KeepAspectRatio, Qt::SmoothTransformation);
            
            
            
                ui->label_3->setPixmap(pix1);
                ui->label_4->setPixmap(pix2);
                ui->label_5->setPixmap(pix3);
                ui->label_6->setPixmap(pix4);
                ui->label_7->setPixmap(pix5);
                ui->label_8->setPixmap(pix6);
                ui->label_9->setPixmap(pix7);
                ui->label_10->setPixmap(pix8);
                ui->label_11->setPixmap(pix9);
                ui->label_12->setPixmap(pix10);
                ui->label_13->setPixmap(pix11);
                Scalar meanValue;
                meanValue = mean(roi1);
                
                qDebug()<<meanValue[0];
                qDebug()<<meanValue[1];
                qDebug()<<meanValue[2];
            
            
            }
            
            J Offline
            J Offline
            jsulm
            Lifetime Qt Champion
            wrote on 7 Nov 2019, 09:26 last edited by
            #12

            @sankarapandiyan said in Time delay in loading progress bar (GIF Format):

            So how to fix this problem

            Sorry I don't understand you. What exactly do you want to close and when?

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

            S 1 Reply Last reply 7 Nov 2019, 09:46
            0
            • J jsulm
              7 Nov 2019, 09:26

              @sankarapandiyan said in Time delay in loading progress bar (GIF Format):

              So how to fix this problem

              Sorry I don't understand you. What exactly do you want to close and when?

              S Offline
              S Offline
              sankarapandiyan
              wrote on 7 Nov 2019, 09:46 last edited by
              #13

              @jsulm actually the push button (in the First window )pressed the progress bar runs first , After loading the progress bar window ( second window ). while closing second window simultaneously the first and second windows closed together , But what i want is i need to stay the ( First window ) on rest . i dont want to close ...

              J 1 Reply Last reply 7 Nov 2019, 10:08
              0
              • S sankarapandiyan
                7 Nov 2019, 09:46

                @jsulm actually the push button (in the First window )pressed the progress bar runs first , After loading the progress bar window ( second window ). while closing second window simultaneously the first and second windows closed together , But what i want is i need to stay the ( First window ) on rest . i dont want to close ...

                J Offline
                J Offline
                jsulm
                Lifetime Qt Champion
                wrote on 7 Nov 2019, 10:08 last edited by
                #14

                @sankarapandiyan Sorry, without code I have no idea...

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

                S 1 Reply Last reply 7 Nov 2019, 10:11
                0
                • J jsulm
                  7 Nov 2019, 10:08

                  @sankarapandiyan Sorry, without code I have no idea...

                  S Offline
                  S Offline
                  sankarapandiyan
                  wrote on 7 Nov 2019, 10:11 last edited by sankarapandiyan 11 Jul 2019, 10:15
                  #15

                  @jsulm @JonB @small_bird @mrjj

                  void MainWindow::on_pushButton_4_clicked()
                  {
                      QMovie*movie=new QMovie(":/somegif.gif");
                      qDebug() << "test1";
                          if(!movie->isValid()){
                              //something went Wrong
                              return;
                          }
                          //play GIF
                          auto label=new QLabel();
                          label->resize(400,180);
                          label->setMovie(movie);
                          label->show();
                          movie->start();
                  
                          QTimer*timer=new QTimer(this);
                          connect(timer,SIGNAL(timeout()),this,SLOT(PrintDebugInTimer()));
                          timer->start(1000);
                          //start time to close it after 10 sec
                          QTimer::singleShot(10000,[label,&timer]{
                             // label->close();
                              label->deleteLater();
                              timer->stop();
                          });
                  
                      Mat image = imread("/home/pi/test.jpg");
                      //Rect myROI(445, 745, 400, 400);
                      //Mat crop = image(myROI);
                      //imwrite("/home/pi/1.png", crop);
                      Mat roi1 = image( Rect(2000,730,400,400));
                      Mat roi2 = image( Rect(1220,720,400,400));
                      Mat roi3 = image( Rect(445,745,400,400));
                      imwrite("/home/pi/1.png", roi1);
                      imwrite("/home/pi/2.png", roi2);
                      imwrite("/home/pi/3.png", roi3);
                  
                      digitalWrite(7,LOW);
                      digitalWrite(5,HIGH);
                  
                      for(int i=0;i<(35*50);i++)
                      {
                          QCoreApplication::processEvents();
                  
                          digitalWrite(4,1);
                          //delay(0.5);//for milliseconds
                          usleep(250);//for micro seconds
                          digitalWrite(4,0);
                          //delay(0.5);//for milliseconds
                          usleep(250);//for micro seconds
                      }
                      digitalWrite(7,HIGH);
                      popMessageBox();
                      Mat image1 = imread("/home/pi/test.jpg");
                      Mat roi4 = image1( Rect(2000,730,400,400));
                      Mat roi5 = image1( Rect(1220,720,400,400));
                      Mat roi6 = image1( Rect(445,745,400,400));
                      imwrite("/home/pi/4.png", roi4);
                      imwrite("/home/pi/5.png", roi5);
                      imwrite("/home/pi/6.png", roi6);
                      digitalWrite(7,LOW);
                      digitalWrite(5,HIGH);
                  
                      for(int i=0;i<(34*50);i++)
                      {
                          QCoreApplication::processEvents();
                  
                          digitalWrite(4,1);
                          //delay(0.5);//for milliseconds
                          usleep(250);//for micro seconds
                          digitalWrite(4,0);
                          //delay(0.5);//for milliseconds
                          usleep(250);//for micro seconds
                      }
                      digitalWrite(7,HIGH);
                      popMessageBox();
                      Mat image2 = imread("/home/pi/test.jpg");
                      Mat roi7 = image2( Rect(2000,730,400,400));
                      Mat roi8 = image2( Rect(1220,720,400,400));
                      Mat roi9 = image2( Rect(445,745,400,400));
                      imwrite("/home/pi/7.png", roi7);
                      imwrite("/home/pi/8.png", roi8);
                      imwrite("/home/pi/9.png", roi9);
                      digitalWrite(7,LOW);
                      digitalWrite(5,HIGH);
                  
                      for(int i=0;i<(34*50);i++)
                      {
                          QCoreApplication::processEvents();
                  
                          digitalWrite(4,1);
                          //delay(0.5);//for milliseconds
                          usleep(250);//for micro seconds
                          digitalWrite(4,0);
                          //delay(0.5);//for milliseconds
                          usleep(250);//for micro seconds
                      }
                      digitalWrite(7,HIGH);
                      popMessageBox();
                      Mat image3 = imread("/home/pi/test.jpg");
                      Mat roi10 = image3( Rect(2000,730,400,400));
                      Mat roi11 = image3( Rect(1220,720,400,400));
                      imwrite("/home/pi/10.png", roi10);
                      imwrite("/home/pi/11.png", roi11);
                  
                      QPixmap pix1,pix2,pix3,pix4,pix5,pix6,pix7,pix8,pix9,pix10,pix11;
                      pix1.load("/home/pi/11.png");
                      pix2.load("/home/pi/10.png");
                      pix3.load("/home/pi/9.png");
                      pix4.load("/home/pi/8.png");
                      pix5.load("/home/pi/7.png");
                      pix6.load("/home/pi/6.png");
                      pix7.load("/home/pi/5.png");
                      pix8.load("/home/pi/4.png");
                      pix9.load("/home/pi/3.png");
                      pix10.load("/home/pi/2.png");
                      pix11.load("/home/pi/1.png");
                      pix1 = pix1.scaled(100, 100, Qt::KeepAspectRatio, Qt::SmoothTransformation);
                      pix2 = pix2.scaled(100, 100, Qt::KeepAspectRatio, Qt::SmoothTransformation);
                      pix3 = pix3.scaled(100, 100, Qt::KeepAspectRatio, Qt::SmoothTransformation);
                      pix4 = pix4.scaled(100, 100, Qt::KeepAspectRatio, Qt::SmoothTransformation);
                      pix5 = pix5.scaled(100, 100, Qt::KeepAspectRatio, Qt::SmoothTransformation);
                      pix6 = pix6.scaled(100, 100, Qt::KeepAspectRatio, Qt::SmoothTransformation);
                      pix7 = pix7.scaled(100, 100, Qt::KeepAspectRatio, Qt::SmoothTransformation);
                      pix8 = pix8.scaled(100, 100, Qt::KeepAspectRatio, Qt::SmoothTransformation);
                      pix9 = pix9.scaled(100, 100, Qt::KeepAspectRatio, Qt::SmoothTransformation);
                      pix10 = pix10.scaled(100, 100, Qt::KeepAspectRatio, Qt::SmoothTransformation);
                  
                  
                  
                      ui->label_3->setPixmap(pix1);
                      ui->label_4->setPixmap(pix2);
                      ui->label_5->setPixmap(pix3);
                      ui->label_6->setPixmap(pix4);
                      ui->label_7->setPixmap(pix5);
                      ui->label_8->setPixmap(pix6);
                      ui->label_9->setPixmap(pix7);
                      ui->label_10->setPixmap(pix8);
                      ui->label_11->setPixmap(pix9);
                      ui->label_12->setPixmap(pix10);
                      ui->label_13->setPixmap(pix11);
                      Scalar meanValue;
                      meanValue = mean(roi1);
                      
                      qDebug()<<meanValue[0];
                      qDebug()<<meanValue[1];
                      qDebug()<<meanValue[2];
                  
                  
                  }
                  

                  this is my output
                  i have checked

                  with q debug

                  https://postimg.cc/gallery/1e0w5cul2/

                  This is my code and this is my out put

                  J 1 Reply Last reply 7 Nov 2019, 10:18
                  0
                  • S sankarapandiyan
                    7 Nov 2019, 10:11

                    @jsulm @JonB @small_bird @mrjj

                    void MainWindow::on_pushButton_4_clicked()
                    {
                        QMovie*movie=new QMovie(":/somegif.gif");
                        qDebug() << "test1";
                            if(!movie->isValid()){
                                //something went Wrong
                                return;
                            }
                            //play GIF
                            auto label=new QLabel();
                            label->resize(400,180);
                            label->setMovie(movie);
                            label->show();
                            movie->start();
                    
                            QTimer*timer=new QTimer(this);
                            connect(timer,SIGNAL(timeout()),this,SLOT(PrintDebugInTimer()));
                            timer->start(1000);
                            //start time to close it after 10 sec
                            QTimer::singleShot(10000,[label,&timer]{
                               // label->close();
                                label->deleteLater();
                                timer->stop();
                            });
                    
                        Mat image = imread("/home/pi/test.jpg");
                        //Rect myROI(445, 745, 400, 400);
                        //Mat crop = image(myROI);
                        //imwrite("/home/pi/1.png", crop);
                        Mat roi1 = image( Rect(2000,730,400,400));
                        Mat roi2 = image( Rect(1220,720,400,400));
                        Mat roi3 = image( Rect(445,745,400,400));
                        imwrite("/home/pi/1.png", roi1);
                        imwrite("/home/pi/2.png", roi2);
                        imwrite("/home/pi/3.png", roi3);
                    
                        digitalWrite(7,LOW);
                        digitalWrite(5,HIGH);
                    
                        for(int i=0;i<(35*50);i++)
                        {
                            QCoreApplication::processEvents();
                    
                            digitalWrite(4,1);
                            //delay(0.5);//for milliseconds
                            usleep(250);//for micro seconds
                            digitalWrite(4,0);
                            //delay(0.5);//for milliseconds
                            usleep(250);//for micro seconds
                        }
                        digitalWrite(7,HIGH);
                        popMessageBox();
                        Mat image1 = imread("/home/pi/test.jpg");
                        Mat roi4 = image1( Rect(2000,730,400,400));
                        Mat roi5 = image1( Rect(1220,720,400,400));
                        Mat roi6 = image1( Rect(445,745,400,400));
                        imwrite("/home/pi/4.png", roi4);
                        imwrite("/home/pi/5.png", roi5);
                        imwrite("/home/pi/6.png", roi6);
                        digitalWrite(7,LOW);
                        digitalWrite(5,HIGH);
                    
                        for(int i=0;i<(34*50);i++)
                        {
                            QCoreApplication::processEvents();
                    
                            digitalWrite(4,1);
                            //delay(0.5);//for milliseconds
                            usleep(250);//for micro seconds
                            digitalWrite(4,0);
                            //delay(0.5);//for milliseconds
                            usleep(250);//for micro seconds
                        }
                        digitalWrite(7,HIGH);
                        popMessageBox();
                        Mat image2 = imread("/home/pi/test.jpg");
                        Mat roi7 = image2( Rect(2000,730,400,400));
                        Mat roi8 = image2( Rect(1220,720,400,400));
                        Mat roi9 = image2( Rect(445,745,400,400));
                        imwrite("/home/pi/7.png", roi7);
                        imwrite("/home/pi/8.png", roi8);
                        imwrite("/home/pi/9.png", roi9);
                        digitalWrite(7,LOW);
                        digitalWrite(5,HIGH);
                    
                        for(int i=0;i<(34*50);i++)
                        {
                            QCoreApplication::processEvents();
                    
                            digitalWrite(4,1);
                            //delay(0.5);//for milliseconds
                            usleep(250);//for micro seconds
                            digitalWrite(4,0);
                            //delay(0.5);//for milliseconds
                            usleep(250);//for micro seconds
                        }
                        digitalWrite(7,HIGH);
                        popMessageBox();
                        Mat image3 = imread("/home/pi/test.jpg");
                        Mat roi10 = image3( Rect(2000,730,400,400));
                        Mat roi11 = image3( Rect(1220,720,400,400));
                        imwrite("/home/pi/10.png", roi10);
                        imwrite("/home/pi/11.png", roi11);
                    
                        QPixmap pix1,pix2,pix3,pix4,pix5,pix6,pix7,pix8,pix9,pix10,pix11;
                        pix1.load("/home/pi/11.png");
                        pix2.load("/home/pi/10.png");
                        pix3.load("/home/pi/9.png");
                        pix4.load("/home/pi/8.png");
                        pix5.load("/home/pi/7.png");
                        pix6.load("/home/pi/6.png");
                        pix7.load("/home/pi/5.png");
                        pix8.load("/home/pi/4.png");
                        pix9.load("/home/pi/3.png");
                        pix10.load("/home/pi/2.png");
                        pix11.load("/home/pi/1.png");
                        pix1 = pix1.scaled(100, 100, Qt::KeepAspectRatio, Qt::SmoothTransformation);
                        pix2 = pix2.scaled(100, 100, Qt::KeepAspectRatio, Qt::SmoothTransformation);
                        pix3 = pix3.scaled(100, 100, Qt::KeepAspectRatio, Qt::SmoothTransformation);
                        pix4 = pix4.scaled(100, 100, Qt::KeepAspectRatio, Qt::SmoothTransformation);
                        pix5 = pix5.scaled(100, 100, Qt::KeepAspectRatio, Qt::SmoothTransformation);
                        pix6 = pix6.scaled(100, 100, Qt::KeepAspectRatio, Qt::SmoothTransformation);
                        pix7 = pix7.scaled(100, 100, Qt::KeepAspectRatio, Qt::SmoothTransformation);
                        pix8 = pix8.scaled(100, 100, Qt::KeepAspectRatio, Qt::SmoothTransformation);
                        pix9 = pix9.scaled(100, 100, Qt::KeepAspectRatio, Qt::SmoothTransformation);
                        pix10 = pix10.scaled(100, 100, Qt::KeepAspectRatio, Qt::SmoothTransformation);
                    
                    
                    
                        ui->label_3->setPixmap(pix1);
                        ui->label_4->setPixmap(pix2);
                        ui->label_5->setPixmap(pix3);
                        ui->label_6->setPixmap(pix4);
                        ui->label_7->setPixmap(pix5);
                        ui->label_8->setPixmap(pix6);
                        ui->label_9->setPixmap(pix7);
                        ui->label_10->setPixmap(pix8);
                        ui->label_11->setPixmap(pix9);
                        ui->label_12->setPixmap(pix10);
                        ui->label_13->setPixmap(pix11);
                        Scalar meanValue;
                        meanValue = mean(roi1);
                        
                        qDebug()<<meanValue[0];
                        qDebug()<<meanValue[1];
                        qDebug()<<meanValue[2];
                    
                    
                    }
                    

                    this is my output
                    i have checked

                    with q debug

                    https://postimg.cc/gallery/1e0w5cul2/

                    This is my code and this is my out put

                    J Offline
                    J Offline
                    jsulm
                    Lifetime Qt Champion
                    wrote on 7 Nov 2019, 10:18 last edited by
                    #16

                    @sankarapandiyan Well, your app is actually crashing. The code is pretty messy to be honest.

                    QTimer*timer=new QTimer(this);
                    connect(timer,SIGNAL(timeout()),this,SLOT(PrintDebugInTimer()));
                    timer->start(1000);
                    //start time to close it after 10 sec
                    QTimer::singleShot(10000,[label,&timer]{
                    // label->close();
                        label->deleteLater();
                        timer->stop(); // It crashes here. Means timer is already destroyed - do you delete it or its parent somewhere?
                    });
                    

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

                    S 2 Replies Last reply 7 Nov 2019, 10:33
                    1
                    • J jsulm
                      7 Nov 2019, 10:18

                      @sankarapandiyan Well, your app is actually crashing. The code is pretty messy to be honest.

                      QTimer*timer=new QTimer(this);
                      connect(timer,SIGNAL(timeout()),this,SLOT(PrintDebugInTimer()));
                      timer->start(1000);
                      //start time to close it after 10 sec
                      QTimer::singleShot(10000,[label,&timer]{
                      // label->close();
                          label->deleteLater();
                          timer->stop(); // It crashes here. Means timer is already destroyed - do you delete it or its parent somewhere?
                      });
                      
                      S Offline
                      S Offline
                      sankarapandiyan
                      wrote on 7 Nov 2019, 10:33 last edited by sankarapandiyan 11 Jul 2019, 10:34
                      #17
                      This post is deleted!
                      1 Reply Last reply
                      0
                      • J jsulm
                        7 Nov 2019, 10:18

                        @sankarapandiyan Well, your app is actually crashing. The code is pretty messy to be honest.

                        QTimer*timer=new QTimer(this);
                        connect(timer,SIGNAL(timeout()),this,SLOT(PrintDebugInTimer()));
                        timer->start(1000);
                        //start time to close it after 10 sec
                        QTimer::singleShot(10000,[label,&timer]{
                        // label->close();
                            label->deleteLater();
                            timer->stop(); // It crashes here. Means timer is already destroyed - do you delete it or its parent somewhere?
                        });
                        
                        S Offline
                        S Offline
                        sankarapandiyan
                        wrote on 7 Nov 2019, 10:43 last edited by
                        #18

                        @jsulm said in Time delay in loading progress bar (GIF Format):

                        It crashes here. Means timer is already destroyed

                        You are Absolutely Right!!!!!!

                        Now its Works .. Great Thanks ................ @jsulm @mrjj @JonB

                        1 Reply Last reply
                        0

                        17/18

                        7 Nov 2019, 10:33

                        • Login

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