Qt - odmierzanie czasu czyli klasa QTime
Stronę tą wyświetlono już: 2977 razy
Do przechowywania czasu w formacie upływu milisekund, sekund, minut i godzin w bibliotece Qt służy klasa QTime. Klasa ta jest dostępna po załączeniu pliku nagłówkowego QTime.
Metody statyczne
Klasa QTime posiada kilka metod statycznych. Wśród nich jest metoda currentTime, której celem jest zwrócenie obiektu klasy QTime zawierającego bieżący czas.
Przykładowy wynik działania powyższego kodu:
QTime("18:00:00.000")
Kolejna metoda statyczna fromMSecsSinceStartOfDay umożliwia ustawienie czasu za pomocą liczby określającej upływ czasu w milisekundach zaczynając od godziny 00:00:00.000. Oto przykład:
Powyższy kod wyświetli:
QTime("03:25:45.678")
Wartą poświęcenia uwagi jest również metoda statyczna fromString, która umożliwia zamianę czasu na obiekt QTime. Oto kilka przykładów użycia tej metody:
Wynik działania powyższego kodu:
QTime("15:33:24.000") QTime("01:03:04.000") QTime("01:02:03.456")
Konstruktory
Domyślny konstruktor nie ustawia żadnej wartości czasu, natomiast dużo ciekawszy konstruktor umożliwia ustawienie czasu w następujący sposób:
Metody związane z odmierzaniem czasu
Jeżeli potrzebujesz odmierzać czas, jaki upłyną to metody start, restart i elapsed są do tego celu stworzone.
Metoda start ustawia bieżący czas, natomiast metoda restart zwraca upływ czasu w milisekundach i ustawia (resetuje) czas na bieżącą godzinę. Metoda elapsed zwraca upływ czasu bez resetowania wartości przechowywanej w obiekcie klasy QTime.
Przykładowy wycinek wyniku wyświetlonego przez powyższy kod:
... QTime("00:00:01.638") QTime("00:00:01.638") QTime("00:00:01.638") QTime("00:00:01.654") QTime("00:00:01.654") QTime("00:00:01.654") QTime("00:00:01.654") QTime("00:00:01.654") QTime("00:00:01.654") QTime("00:00:01.654") Finly: QTime("00:00:01.654")
Metody pobierające i dodające wartości do składowych czasu zawartego w obiekcie klasy QTime
Pobieranie wartości poszczególnych składowych czasu umożliwiają metody:
- hour - zwraca godziny;
- minute - zwraca minuty;
- second - zwraca sekundy;
- msec - zwraca milisekundy
Możliwe jest też uzyskanie liczby milisekund, jakie upłynęły od początku dnia za pomocą metody msecsSinceStartOfDay lub uzyskanie liczby milisekund, jakie dzieli bieżący czas obiektu klasy QTime od innego obiektu tej samej klasy za pomocą metody msecsTo.
Istnieją też dwie metody umożliwiające dodanie do bieżącego czasu obiektu sekund lub milisekund:
- addMSec;
- addSec
Tytuł:
C++ Zbiór zadań z rozwiązaniami
Autor:
Tomasz Jaśniewski
Tytuł:
Mikrokontrolery dla hobbystów. Projekty DIY w języku C i C++
Autor:
Miguel Angel Garcia-Ruiz, Pedro Cesar Santana Mancilla
Tytuł:
Architektura oprogramowania bez tajemnic. Wykorzystaj język C++ do tworzenia wydajnych aplikacji i systemów
Autor:
Adrian Ostrowski, Piotr Gaczkowski
Tytuł:
Wprowadzenie do C++
Autor:
Michał Matlak
Tytuł:
Opus magnum C++ 11. Programowanie w języku C++. Wydanie II poprawione (komplet)
Autor:
Jerzy Grębosz
Tytuł:
Programowanie wieloplatformowe z C++ i wxWidgets 3
Autor:
Bartosz W. Warzocha
Tytuł:
Język C++ i przetwarzanie współbieżne w akcji. Wydanie II
Autor:
Anthony Williams
Tytuł:
C++ dla bystrzaków. Wydanie VII
Autor:
Stephen R. Davis
Tytuł:
Tablice informatyczne. Podstawy C++
Autor:
Radosław Sokół
Tytuł:
Opus magnum C++11. Programowanie w języku C++ (komplet)
Autor:
Jerzy Grębosz