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.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.
  • R rockon209

    I am geting the following error when i run the code

    field 'm_elTim' has incomplete type 'QElapsedTimer'
    QElapsedTimer m_elTim;
    ^

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

    @rockon209
    you're missing some includes,

    in this case add:

    #include <QElapsedTimer>
    

    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
    1
    • R Offline
      R Offline
      rockon209
      wrote on last edited by rockon209
      #8

      yes i have already included it in source file, but still the same error

      VRoninV 1 Reply Last reply
      0
      • R rockon209

        yes i have already included it in source file, but still the same error

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

        @rockon209 said in Time count and display it:

        in source file

        That should go in the header file

        "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
        • R Offline
          R Offline
          rockon209
          wrote on last edited by
          #10

          @VRonin but when i include it in header file my application crashes

          VRoninV 1 Reply Last reply
          0
          • R rockon209

            @VRonin but when i include it in header file my application crashes

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

            @rockon209 said in Time count and display it:

            my application crashes

            That's not due to the #include could you post your code?

            "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
            • 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