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

    @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 Online
          J.HilkJ Online
          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 Online
                  J.HilkJ Online
                  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