Chapter 13. Interfacing with the Operating System
In this chapter, we will cover some tasks that are inherently unportable, but for which Qt provides portable abstractions that shield your application programs from the operating system APIs. More precisely, we will cover working with date and time values, dynamically loading code libraries, starting other processes and possibly capturing these processes’ output, and finally playing simple sounds.
Working with Date and Time Values
Date and time values are inherently hard to make portable. Therefore, it’s a good idea to use the classes provided by Qt when you work with this kind of data.
Three Qt classes are in this area:
QDate
, QTime
, and
QDateTime
. Their purposes are obvious:
QDate
encapsulates a date value,
QTime
encapsulates a time value, and
QDateTime
encapsulates both. You can pass either
the scalar values that make up a date (day, month, and year) or a time
value (hour, minute, and optional second and millisecond), or set
these values later.
For computations with date and time values, use the methods
QTime::addSecs()
,
QTime::addMSecs()
,
QDate:addDays()
,
QDateTime::addSecs()
, and
QDateTime::addDays()
. There are also many
comparison operators, and
you can stream date and time values to and from
QDataStream
streams.
Getting the current time and date is a popular feature. All
three classes provide static methods for this:
QDate::currentDate()
,
QTime::currentTime()
, and
QDateTime::currentDateTime()
.
QTime
can also be used as ...
Get Programming with Qt, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.