Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. Spanish
  4. QTimer
Forum Updated to NodeBB v4.3 + New Features

QTimer

Scheduled Pinned Locked Moved Unsolved Spanish
9 Posts 5 Posters 1.6k 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.
  • C Offline
    C Offline
    Casino
    wrote on last edited by
    #1

    Hola, soy nuevo en esto, pero tengo una pregunta, tengo el timer listo y una alarma, el tema es que quiero realizar instrucciones usando el tiempo, es decir, pasan dos minutos y se hace esto luego pasan 10 minutos y se hace otra cosa. El tema es que activo el timer, llega a los dos minutos, hace lo que le pido y al instante vuelve para atras, es decir al comienzo, QUE PASA?'' Gracias por la respuesta...

    Pablo J. RoginaP 1 Reply Last reply
    0
    • C Casino

      Hola, soy nuevo en esto, pero tengo una pregunta, tengo el timer listo y una alarma, el tema es que quiero realizar instrucciones usando el tiempo, es decir, pasan dos minutos y se hace esto luego pasan 10 minutos y se hace otra cosa. El tema es que activo el timer, llega a los dos minutos, hace lo que le pido y al instante vuelve para atras, es decir al comienzo, QUE PASA?'' Gracias por la respuesta...

      Pablo J. RoginaP Offline
      Pablo J. RoginaP Offline
      Pablo J. Rogina
      wrote on last edited by
      #2

      @Casino said in QTimer:

      QUE PASA?

      Pasa lo que tiene que pasar...
      Cuando QTimer llega a cero empieza de nuevo. Pensalo como un reloj de arena: cuando termina lo das vuelta y empieza otra vez.

      Una opción para tu caso es que cuando termina timer1 y haces la tarea de timer1, arranques timer2. Cuando timer2 termina y haces las tareas de timer2 arranques timer1 y así se arma la rueda...

      Upvote the answer(s) that helped you solve the issue
      Use "Topic Tools" button to mark your post as Solved
      Add screenshots via postimage.org
      Don't ask support requests via chat/PM. Please use the forum so others can benefit from the solution in the future

      1 Reply Last reply
      2
      • C Offline
        C Offline
        Casino
        wrote on last edited by
        #3

        no hay manera de acomodar los dos timers, si alguien tiene algo del codigo se los agradezco.Gracias

        Pablo J. RoginaP 1 Reply Last reply
        0
        • C Casino

          no hay manera de acomodar los dos timers, si alguien tiene algo del codigo se los agradezco.Gracias

          Pablo J. RoginaP Offline
          Pablo J. RoginaP Offline
          Pablo J. Rogina
          wrote on last edited by
          #4

          @Casino intentaste con 2 objetos QTimer?
          podrías mostrar tu código hasta el momento?

          Upvote the answer(s) that helped you solve the issue
          Use "Topic Tools" button to mark your post as Solved
          Add screenshots via postimage.org
          Don't ask support requests via chat/PM. Please use the forum so others can benefit from the solution in the future

          C 1 Reply Last reply
          0
          • Pablo J. RoginaP Pablo J. Rogina

            @Casino intentaste con 2 objetos QTimer?
            podrías mostrar tu código hasta el momento?

            C Offline
            C Offline
            Casino
            wrote on last edited by
            #5

            @Pablo-J-Rogina
            void MainWindow::on_play_clicked()
            {

            int i = 0;
            int nivel = 1;
            
            QMediaPlayer *alarma = new QMediaPlayer;
            alarma->setMedia(QUrl::fromLocalFile("C:/Users/HP/Downloads/uno.mp3"));
            alarma->setVolume(30);
            
            
            ui->tabla2->hide();
            
            
            ui->seg->display(s);
            ui->min->display(m);
            ui->mtotal->display(mt);
            ui->htotal->display(ht);
            
            timer->start(1000);
            s++;
            s = s % 10;//hago de cuenta que el minuto dura 10 segundos, para ir mas rapido, si funciona lo pongo bien.
            if(s == 0){
                mt++;//minutos totales
                m++;//
            }
            ui->players->setText(QString::number(ui->tabla2->rowCount()));
            ui->level->setText(QString::number(nivel));
            ui->blindg->setText(ui->tabla2->item(i,0)->text()+"/"+ui->tabla2->item(i,1)->text());
            ui->blinds2->setText(ui->tabla2->item((i+1),0)->text()+"/"+ui->tabla2->item((i+1),1)->text());
            ui->anteg->setText(ui->tabla2->item(i,2)->text());
            ui->ante2->setText(ui->tabla2->item(i+1,2)->text());
            ui->blindtime->setText(ui->tabla2->item(i,3)->text());
            
            if(mt == ui->tabla2->item(0,3)->text().toInt()){
                //timer->stop();
                killTimer(3);
                alarma->play();
                m = 0;
                nivel++;
                    ui->level->setText(QString::number(nivel));
                    ui->blindg->setText(ui->tabla2->item(1,0)->text()+"/"+ui->tabla2->item(1,1)->text());
                    ui->blinds2->setText(ui->tabla2->item(2,0)->text()+"/"+ui->tabla2->item(2,1)->text());
                    ui->anteg->setText(ui->tabla2->item(2,2)->text());
                    ui->ante2->setText(ui->tabla2->item(2,2)->text());
                    ui->blindtime->setText(ui->tabla2->item(1,3)->text());
            
            }
            

            }
            mensaje de la aplicacion:
            QObject::killTimer(): Error: timer id 3 is not valid for object 0x8dfdf4 (MainWindow, MainWindow), timer has not been killed

            1 Reply Last reply
            0
            • juankiJ Offline
              juankiJ Offline
              juanki
              Moderators
              wrote on last edited by
              #6

              Hola

              Ahí te está dando un error la función killTimer, por que no la usas bien, aquí tienes la documentación:

              https://doc.qt.io/qt-5/qobject.html#killTimer

              Tienes que pasarle un identificador que te haya devuelto la función startTime, no un int.

              La documentación de startTime:
              https://doc.qt.io/qt-5/qobject.html#startTimer

              ¿La llamada a timer->stop() que tienes comentada no te funciona? ¿No detiene el temporizador?

              La verdad que aun no entendí muy bien lo que quieres hacer, y no me queda claro viendo el código.

              Un saludo

              Intenta explicar el problema lo más claro y detallado posible. Adjunta los errores y el código que creas da el error.
              Procura escribir correctamente y sin faltas de ortografía.

              Si la duda se solucionó, por favor, marca el tema como 'solucionado'.

              1 Reply Last reply
              0
              • juankiJ Offline
                juankiJ Offline
                juanki
                Moderators
                wrote on last edited by
                #7

                Hola

                Después de contestar otra consulta me he dado cuenta de que quizás lo que te ocurre es que el QTimer se sigue ejecutando y contando el tiempo indefinidamente y tú lo que quieres es que únicamente haga una única cuenta, un único "disparo".

                Para eso tiene la propiedad singleShot.

                No sé si es lo que buscabas.

                Un saludo

                Intenta explicar el problema lo más claro y detallado posible. Adjunta los errores y el código que creas da el error.
                Procura escribir correctamente y sin faltas de ortografía.

                Si la duda se solucionó, por favor, marca el tema como 'solucionado'.

                1 Reply Last reply
                0
                • N Offline
                  N Offline
                  NathBks
                  wrote on last edited by
                  #8

                  No es mi caso pero me pareció interesante la posible solución pues tiene sentido el utilizar la propiedad singleShot.

                  1 Reply Last reply
                  0
                  • O Offline
                    O Offline
                    ollarch
                    wrote on last edited by
                    #9

                    ¿Podrías explicar de forma simple que quieres conseguir?

                    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 Extensions
                    • Unsolved