Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct
How display Time (hh:mm:ss) not statically?
I'm studing QT only for fun..
i would like to build a little application with a label wich shows the exact time that flows like this:
but I get only the time instant, and the second does not run ..
the time is still!
how can I correctly display the time? like this : http://time.is/it/???
thanks for help
Put that line in a function, and make that function a slot. Now, from your constructor, create a [[doc:QTimer]] instance, and connect the timeout() signal of the timer you just created with the function that updates the time in the label. Voila!
JohanSolo last edited by
I don't think the text of a QLabel is meant to automatically change by itself. The QTime::toString gives the QString corrsponding to the input QTime value. I guess if you want a QLabel that changes, you'll have to use signal/slots to rewrite your QLabel every second (i.e. every time the QTime changes).
Off-topic: Note that in QML, such a setup would work: tell a component to display the current time, and it will always display the current time, even while the time changes. Declarative programming is cool that way! :-)
how connect this:
QTimer *timer = new QTimer(this);
connect(timer, SIGNAL(timeout()), this, SLOT(showTime()));
at my label?
Edit: please use @ tags around code sections; Andre
Your method showTime() needs to contain the line you posted in your first message, and the function needs to be declared a slot in your header.
i've resolved with a new function! thanks ANDRE!!!!!
You're welcome, have fun learning Qt!