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 count and display it
Forum Updated to NodeBB v4.3 + New Features

Time count and display it

Scheduled Pinned Locked Moved Solved General and Desktop
21 Posts 4 Posters 9.2k 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.
  • R Offline
    R Offline
    rockon209
    wrote on last edited by VRonin
    #12

    main.cpp

    #include "watch.h"
    #include <QApplication>
    
    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
        watch w;
        w.show();
    
        return a.exec();
    }
    

    watch.cpp

    #include "watch.h"
    
    
    watch::watch(QWidget *parent) :
        QWidget(parent)
    
    {
    
        m_startButton=new QPushButton("Start",this);
        m_liveCounter = new QTimeEdit(this);
        m_intervalClock=new QTimer(this);
        connect(m_startButton,&QPushButton::clicked,this,[this](){m_elTim.start();});
        connect(m_intervalClock,&QTimer::timeout,this,[this](){if(m_elTim.isValid()) m_liveCounter->setTime(QTime(0,0).addMSecs(m_elTim.elapsed()));});
        m_intervalClock->start(500);
        QBoxLayout* mainLayout = new QHBoxLayout();
        mainLayout->addWidget(m_startButton);
        mainLayout->addWidget(m_liveCounter );
        setLayout(mainLayout);
    }
    

    watch.h

    #ifndef WATCH_H
    #define WATCH_H
    
    #include <QWidget>
    #include <QElapsedTimer>
    #include <QPushButton>
    #include <QTimeEdit>
    #include <QTimer>
    #include <QBoxLayout>
    namespace Ui {
    class watch;
    }
    
    class watch : public QWidget
    {
        Q_OBJECT
    
    public:
        explicit watch(QWidget *parent = 0);
    
    
    private:
        QElapsedTimer m_elTim;
        QPushButton* m_startButton;
        QTimer* m_intervalClock;
        QTimeEdit* m_liveCounter;
    };
    
    #endif // WATCH_H
    

    stopwatch.pro

    QT       += core gui
    
    greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
    
    TARGET = stopwatch
    TEMPLATE = app
    
    
    SOURCES += main.cpp\
            watch.cpp
    
    HEADERS  += watch.h
    
    FORMS    += watch.ui
    
    1 Reply Last reply
    0
    • VRoninV Offline
      VRoninV Offline
      VRonin
      wrote on last edited by
      #13

      Can't see anything obvious (but I might just be blind). could you post your stack trace at the moment of crash?

      "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
      ~Napoleon Bonaparte

      On a crusade to banish setIndexWidget() from the holy land of Qt

      1 Reply Last reply
      0
      • J.HilkJ Offline
        J.HilkJ Offline
        J.Hilk
        Moderators
        wrote on last edited by
        #14

        ah,

        in your watch.h add #include<QElapsedTimer> and in your watch.cpp intilize it with m_elTim = new QElapsedTimer(); it's missing from @VRonin code example


        Be aware of the Qt Code of Conduct, when posting : https://forum.qt.io/topic/113070/qt-code-of-conduct


        Q: What's that?
        A: It's blue light.
        Q: What does it do?
        A: It turns blue.

        VRoninV 1 Reply Last reply
        0
        • J.HilkJ J.Hilk

          ah,

          in your watch.h add #include<QElapsedTimer> and in your watch.cpp intilize it with m_elTim = new QElapsedTimer(); it's missing from @VRonin code example

          VRoninV Offline
          VRoninV Offline
          VRonin
          wrote on last edited by
          #15

          @J.Hilk said in Time count and display it:

          in your watch.cpp intilize it with m_elTim = new QElapsedTimer(); it's missing from @VRonin code example

          It's on the stack so no need to do this. QElapsedTimer is not a QObject

          "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
          ~Napoleon Bonaparte

          On a crusade to banish setIndexWidget() from the holy land of Qt

          J.HilkJ 1 Reply Last reply
          0
          • R Offline
            R Offline
            rockon209
            wrote on last edited by
            #16

            now the code is not crashing. everyting is running but when i push startbutton nothing happens

            VRoninV 1 Reply Last reply
            0
            • R rockon209

              now the code is not crashing. everyting is running but when i push startbutton nothing happens

              VRoninV Offline
              VRoninV Offline
              VRonin
              wrote on last edited by
              #17

              @rockon209 said in Time count and display it:

              now the code is not crashing.

              What did you change?

              "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
              ~Napoleon Bonaparte

              On a crusade to banish setIndexWidget() from the holy land of Qt

              1 Reply Last reply
              0
              • VRoninV VRonin

                @J.Hilk said in Time count and display it:

                in your watch.cpp intilize it with m_elTim = new QElapsedTimer(); it's missing from @VRonin code example

                It's on the stack so no need to do this. QElapsedTimer is not a QObject

                J.HilkJ Offline
                J.HilkJ Offline
                J.Hilk
                Moderators
                wrote on last edited by
                #18

                @VRonin said in Time count and display it:

                It's on the stack so no need to do this. QElapsedTimer is not a QObject

                You're right of course, I must have missed that...


                Be aware of the Qt Code of Conduct, when posting : https://forum.qt.io/topic/113070/qt-code-of-conduct


                Q: What's that?
                A: It's blue light.
                Q: What does it do?
                A: It turns blue.

                1 Reply Last reply
                0
                • R Offline
                  R Offline
                  rockon209
                  wrote on last edited by rockon209
                  #19

                  I create a new code just to check if everyting works fine and then i found out that when i click startbutton nothing happens

                  1 Reply Last reply
                  0
                  • R Offline
                    R Offline
                    rockon209
                    wrote on last edited by
                    #20

                    ok sorry guys it working but its not showing the seconds only minute and hours how to change the format? to hh:mm:ss

                    1 Reply Last reply
                    0
                    • R Offline
                      R Offline
                      rockon209
                      wrote on last edited by
                      #21
                      This post is deleted!
                      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