New Classes and Functions in Qt 5.8
This page contains a comprehensive list of all new classes and functions introduced in Qt 5.8. Links to new APIs in previous Qt 5 releases are found at the bottom of this page.
- New Namespaces
- New Classes
- New Member Functions
- New Functions in Namespaces
- New Global Functions
- New Macros
- New Enum Types
- New Type Aliases
- New Properties
- New QML Types
- New QML Properties
- New QML Signals
- New QML Methods
New Namespaces
namespace | QScxmlExecutableContent |
New Classes
- A
- AssignmentInfo (QScxmlExecutableContent)
- QAbstractOAuth
- QAbstractOAuth2
- QAbstractOAuthReplyHandler
- QAbstractPhysicalDeviceProxy (Qt3DInput)
- QAxisAccumulator (Qt3DInput)
- C
- QCanBus
- QCanBusDevice
- QCanBusFactory
- QCanBusFrame
- QCandlestickLegendMarker
- QCandlestickModelMapper
- QCandlestickSeries
- QCandlestickSet
- L
- Loader (QScxmlCompiler)
- M
- QModbusClient
- QModbusDataUnit
- QModbusDevice
- QModbusDeviceIdentification
- QModbusExceptionResponse
- QModbusPdu
- QModbusReply
- QModbusRequest
- QModbusResponse
- QModbusRtuSerialMaster
- QModbusRtuSerialSlave
- QModbusServer
- QModbusTcpClient
- QModbusTcpServer
- S
- QSctpServer
- QSctpSocket
- QScxmlDynamicScxmlServiceFactory
- QScxmlInvokableService
- QScxmlInvokableServiceFactory
- QScxmlStaticScxmlServiceFactory
- QScxmlTableData
- QSGImageNode
- QSGRectangleNode
- QSGRendererInterface
- QSGRenderNode
- QSslDiffieHellmanParameters
- W
- QWaylandBufferRef
- QWaylandClient
- QWaylandCompositor
- QWaylandIviApplication
- QWaylandIviSurface
- QWaylandKeyboard
- QWaylandOutput
- QWaylandOutputMode
- QWaylandPointer
- QWaylandQuickItem
- QWaylandQuickShellSurfaceItem
- QWaylandSeat
- QWaylandShellSurface
- QWaylandSurface
- QWaylandSurfaceGrabber
- QWaylandTouch
- QWaylandView
- QWaylandWlShell
- QWaylandWlShellSurface
- QWaylandXdgPopupV5
- QWaylandXdgShellV5
- QWaylandXdgSurfaceV5
New Member Functions
Class QBluetoothDeviceDiscoveryAgent:
int | lowEnergyDiscoveryTimeout() const |
void | setLowEnergyDiscoveryTimeout(int timeout) |
void | start(QBluetoothDeviceDiscoveryAgent::DiscoveryMethods methods) |
QBluetoothDeviceDiscoveryAgent::DiscoveryMethods | supportedDiscoveryMethods() |
Class QLowEnergyController:
QBluetoothUuid | remoteDeviceUuid() const |
Class FromBase64Result:
bool | operator!=(const QScopedPointer<T, Cleanup> &lhs, std::nullptr_t) |
bool | operator!=(std::nullptr_t, const QScopedPointer<T, Cleanup> &rhs) |
bool | operator!=(const QSharedPointer<T> &lhs, std::nullptr_t) |
bool | operator!=(std::nullptr_t, const QSharedPointer<T> &rhs) |
bool | operator!=(const QWeakPointer<T> &lhs, std::nullptr_t) |
bool | operator!=(std::nullptr_t, const QWeakPointer<T> &rhs) |
bool | operator==(const QScopedPointer<T, Cleanup> &lhs, std::nullptr_t) |
bool | operator==(std::nullptr_t, const QScopedPointer<T, Cleanup> &rhs) |
bool | operator==(const QSharedPointer<T> &lhs, std::nullptr_t) |
bool | operator==(std::nullptr_t, const QSharedPointer<T> &rhs) |
bool | operator==(const QWeakPointer<T> &lhs, std::nullptr_t) |
bool | operator==(std::nullptr_t, const QWeakPointer<T> &rhs) |
uint | qHash(const QHash<Key, T> &key, uint seed) |
uint | qHash(const QMultiHash<Key, T> &key, uint seed) |
Class QChar:
bool | operator!=(const QScopedPointer<T, Cleanup> &lhs, std::nullptr_t) |
bool | operator!=(std::nullptr_t, const QScopedPointer<T, Cleanup> &rhs) |
bool | operator!=(const QSharedPointer<T> &lhs, std::nullptr_t) |
bool | operator!=(std::nullptr_t, const QSharedPointer<T> &rhs) |
bool | operator!=(const QWeakPointer<T> &lhs, std::nullptr_t) |
bool | operator!=(std::nullptr_t, const QWeakPointer<T> &rhs) |
bool | operator==(const QScopedPointer<T, Cleanup> &lhs, std::nullptr_t) |
bool | operator==(std::nullptr_t, const QScopedPointer<T, Cleanup> &rhs) |
bool | operator==(const QSharedPointer<T> &lhs, std::nullptr_t) |
bool | operator==(std::nullptr_t, const QSharedPointer<T> &rhs) |
bool | operator==(const QWeakPointer<T> &lhs, std::nullptr_t) |
bool | operator==(std::nullptr_t, const QWeakPointer<T> &rhs) |
Class QCommandLineOption:
Class QDateTime:
qint64 | currentSecsSinceEpoch() |
QDateTime | fromSecsSinceEpoch(qint64 secs, Qt::TimeSpec spec, int offsetSeconds) |
QDateTime | fromSecsSinceEpoch(qint64 secs, const QTimeZone &timeZone) |
void | setSecsSinceEpoch(qint64 secs) |
qint64 | toSecsSinceEpoch() const |
Class QHash:
uint | qHash(const QMultiHash<Key, T> &key, uint seed) |
Class QKeyValueIterator:
bool | operator!=(const QScopedPointer<T, Cleanup> &lhs, std::nullptr_t) |
bool | operator!=(std::nullptr_t, const QScopedPointer<T, Cleanup> &rhs) |
bool | operator!=(const QSharedPointer<T> &lhs, std::nullptr_t) |
bool | operator!=(std::nullptr_t, const QSharedPointer<T> &rhs) |
bool | operator!=(const QWeakPointer<T> &lhs, std::nullptr_t) |
bool | operator!=(std::nullptr_t, const QWeakPointer<T> &rhs) |
bool | operator==(const QScopedPointer<T, Cleanup> &lhs, std::nullptr_t) |
bool | operator==(std::nullptr_t, const QScopedPointer<T, Cleanup> &rhs) |
bool | operator==(const QSharedPointer<T> &lhs, std::nullptr_t) |
bool | operator==(std::nullptr_t, const QSharedPointer<T> &rhs) |
bool | operator==(const QWeakPointer<T> &lhs, std::nullptr_t) |
bool | operator==(std::nullptr_t, const QWeakPointer<T> &rhs) |
Class QLatin1String:
QLatin1Char | at(int pos) const |
QLatin1String | left(int length) const |
QLatin1String | mid(int start) const |
QLatin1String | mid(int start, int length) const |
QLatin1Char | operator[](int pos) const |
QLatin1String | right(int length) const |
Class QLibraryInfo:
QVersionNumber | version() |
Class QLine:
QPoint | center() const |
Class QLineF:
QPointF | center() const |
Class QList:
uint | qHash(const QHash<Key, T> &key, uint seed) |
uint | qHash(const QMultiHash<Key, T> &key, uint seed) |
Class QMetaEnum:
bool | isScoped() const |
Class QMetaType:
bool | operator!=(const QSharedPointer<T> &lhs, std::nullptr_t) |
bool | operator!=(std::nullptr_t, const QSharedPointer<T> &rhs) |
bool | operator!=(const QWeakPointer<T> &lhs, std::nullptr_t) |
bool | operator!=(std::nullptr_t, const QWeakPointer<T> &rhs) |
bool | operator==(const QSharedPointer<T> &lhs, std::nullptr_t) |
bool | operator==(std::nullptr_t, const QSharedPointer<T> &rhs) |
bool | operator==(const QWeakPointer<T> &lhs, std::nullptr_t) |
bool | operator==(std::nullptr_t, const QWeakPointer<T> &rhs) |
Class QMultiHash:
uint | qHash(const QMultiHash<Key, T> &key, uint seed) |
Class QMutex:
bool | try_lock() |
bool | try_lock_for(std::chrono::duration<Rep, Period> duration) |
bool | try_lock_until(std::chrono::time_point<Clock, Duration> timePoint) |
Class QPair:
bool | operator!=(const QScopedPointer<T, Cleanup> &lhs, std::nullptr_t) |
bool | operator!=(std::nullptr_t, const QScopedPointer<T, Cleanup> &rhs) |
bool | operator!=(const QSharedPointer<T> &lhs, std::nullptr_t) |
bool | operator!=(std::nullptr_t, const QSharedPointer<T> &rhs) |
bool | operator!=(const QWeakPointer<T> &lhs, std::nullptr_t) |
bool | operator!=(std::nullptr_t, const QWeakPointer<T> &rhs) |
bool | operator==(const QScopedPointer<T, Cleanup> &lhs, std::nullptr_t) |
bool | operator==(std::nullptr_t, const QScopedPointer<T, Cleanup> &rhs) |
bool | operator==(const QSharedPointer<T> &lhs, std::nullptr_t) |
bool | operator==(std::nullptr_t, const QSharedPointer<T> &rhs) |
bool | operator==(const QWeakPointer<T> &lhs, std::nullptr_t) |
bool | operator==(std::nullptr_t, const QWeakPointer<T> &rhs) |
Class QPoint:
CGPoint | toCGPoint() const |
Class QPointF:
QPointF | fromCGPoint(CGPoint point) |
CGPoint | toCGPoint() const |
Class QRectF:
QRectF | fromCGRect(CGRect rect) |
CGRect | toCGRect() const |
Class QRect:
CGRect | toCGRect() const |
Class QRegExp:
uint | qHash(const QHash<Key, T> &key, uint seed) |
uint | qHash(const QMultiHash<Key, T> &key, uint seed) |
Class QResource:
QDateTime | lastModified() const |
Class QScopedPointer:
bool | operator!=(const QScopedPointer<T, Cleanup> &lhs, std::nullptr_t) |
bool | operator!=(std::nullptr_t, const QScopedPointer<T, Cleanup> &rhs) |
bool | operator!=(const QSharedPointer<T> &lhs, std::nullptr_t) |
bool | operator!=(std::nullptr_t, const QSharedPointer<T> &rhs) |
bool | operator!=(const QWeakPointer<T> &lhs, std::nullptr_t) |
bool | operator!=(std::nullptr_t, const QWeakPointer<T> &rhs) |
bool | operator==(const QScopedPointer<T, Cleanup> &lhs, std::nullptr_t) |
bool | operator==(std::nullptr_t, const QScopedPointer<T, Cleanup> &rhs) |
bool | operator==(const QSharedPointer<T> &lhs, std::nullptr_t) |
bool | operator==(std::nullptr_t, const QSharedPointer<T> &rhs) |
bool | operator==(const QWeakPointer<T> &lhs, std::nullptr_t) |
bool | operator==(std::nullptr_t, const QWeakPointer<T> &rhs) |
Class QSharedPointer:
bool | operator!=(const QSharedPointer<T> &lhs, std::nullptr_t) |
bool | operator!=(std::nullptr_t, const QSharedPointer<T> &rhs) |
bool | operator!=(const QWeakPointer<T> &lhs, std::nullptr_t) |
bool | operator!=(std::nullptr_t, const QWeakPointer<T> &rhs) |
bool | operator==(const QSharedPointer<T> &lhs, std::nullptr_t) |
bool | operator==(std::nullptr_t, const QSharedPointer<T> &rhs) |
bool | operator==(const QWeakPointer<T> &lhs, std::nullptr_t) |
bool | operator==(std::nullptr_t, const QWeakPointer<T> &rhs) |
Class QSizeF:
QSizeF | fromCGSize(CGSize size) |
CGSize | toCGSize() const |
Class QSize:
CGSize | toCGSize() const |
Class QStringList:
QString | join(QLatin1String separator) const |
Class QStringRef:
Class QStringView:
uint | qHash(const QHash<Key, T> &key, uint seed) |
uint | qHash(const QMultiHash<Key, T> &key, uint seed) |
Class QTimer:
std::chrono::milliseconds | intervalAsDuration() const |
std::chrono::milliseconds | remainingTimeAsDuration() const |
void | singleShot(std::chrono::milliseconds msec, const QObject *receiver, const char *member) |
void | singleShot(std::chrono::milliseconds msec, Qt::TimerType timerType, const QObject *receiver, const char *member) |
void | start(std::chrono::milliseconds msec) |
Class QVarLengthArray:
bool | operator!=(const QSharedPointer<T> &lhs, std::nullptr_t) |
bool | operator!=(std::nullptr_t, const QSharedPointer<T> &rhs) |
bool | operator!=(const QWeakPointer<T> &lhs, std::nullptr_t) |
bool | operator!=(std::nullptr_t, const QWeakPointer<T> &rhs) |
bool | operator==(const QSharedPointer<T> &lhs, std::nullptr_t) |
bool | operator==(std::nullptr_t, const QSharedPointer<T> &rhs) |
bool | operator==(const QWeakPointer<T> &lhs, std::nullptr_t) |
bool | operator==(std::nullptr_t, const QWeakPointer<T> &rhs) |
uint | qHash(const QHash<Key, T> &key, uint seed) |
uint | qHash(const QMultiHash<Key, T> &key, uint seed) |
Class QVector:
uint | qHash(const QHash<Key, T> &key, uint seed) |
uint | qHash(const QMultiHash<Key, T> &key, uint seed) |
Class QWaitCondition:
void | notify_all() |
void | notify_one() |
Class QWeakPointer:
bool | operator!=(const QSharedPointer<T> &lhs, std::nullptr_t) |
bool | operator!=(std::nullptr_t, const QSharedPointer<T> &rhs) |
bool | operator!=(const QWeakPointer<T> &lhs, std::nullptr_t) |
bool | operator!=(std::nullptr_t, const QWeakPointer<T> &rhs) |
bool | operator==(const QSharedPointer<T> &lhs, std::nullptr_t) |
bool | operator==(std::nullptr_t, const QSharedPointer<T> &rhs) |
bool | operator==(const QWeakPointer<T> &lhs, std::nullptr_t) |
bool | operator==(std::nullptr_t, const QWeakPointer<T> &rhs) |
Class QAbstractTextDocumentLayout:
Class QColor:
bool | isValidColor(QLatin1String name) |
void | setNamedColor(QLatin1String name) |
Class QFont:
uint | qHash(const QRawFont &font, uint seed) |
Class QFontMetricsF:
qreal | capHeight() const |
Class QFontMetrics:
int | capHeight() const |
Class QMatrix:
uint | qHash(const QRawFont &font, uint seed) |
Class QOpenGLContext:
QFunctionPointer | getProcAddress(const char *procName) const |
Class QPlatformTheme:
virtual QIcon | fileIcon(const QFileInfo &fileInfo, QPlatformTheme::IconOptions iconOptions) const |
Class QPointingDeviceUniqueId:
bool | operator!=(QPointingDeviceUniqueId lhs, QPointingDeviceUniqueId rhs) |
bool | operator==(QPointingDeviceUniqueId lhs, QPointingDeviceUniqueId rhs) |
uint | qHash(QPointingDeviceUniqueId key, uint seed) |
uint | qHash(const QRawFont &font, uint seed) |
Class QRawFont:
Class QRegion:
QRegion::const_iterator | begin() const |
QRegion::const_iterator | cbegin() const |
QRegion::const_iterator | cend() const |
QRegion::const_reverse_iterator | crbegin() const |
QRegion::const_reverse_iterator | crend() const |
QRegion::const_iterator | end() const |
QRegion::const_reverse_iterator | rbegin() const |
QRegion::const_reverse_iterator | rend() const |
Class QRhiVertexInputBinding:
bool | operator!=(QPointingDeviceUniqueId lhs, QPointingDeviceUniqueId rhs) |
uint | qHash(const QRawFont &font, uint seed) |
Class UniformBlock:
bool | operator==(QPointingDeviceUniqueId lhs, QPointingDeviceUniqueId rhs) |
Class QShaderKey:
Class TouchPoint:
Class QTransform:
uint | qHash(const QRawFont &font, uint seed) |
Class QVector2D:
bool | operator!=(QPointingDeviceUniqueId lhs, QPointingDeviceUniqueId rhs) |
bool | operator==(QPointingDeviceUniqueId lhs, QPointingDeviceUniqueId rhs) |
Class QHostAddress:
bool | isEqual(const QHostAddress &other, QHostAddress::ConversionMode mode) const |
QDebug | operator<<(QDebug debug, const QSslDiffieHellmanParameters &dhparam) |
QHostAddress & | operator=(QHostAddress::SpecialAddress address) |
void | setAddress(QHostAddress::SpecialAddress address) |
Class QNetworkAccessManager:
QNetworkReply * | sendCustomRequest(const QNetworkRequest &request, const QByteArray &verb, const QByteArray &data) |
QNetworkReply * | sendCustomRequest(const QNetworkRequest &request, const QByteArray &verb, QHttpMultiPart *multiPart) |
Class QNetworkCacheMetaData:
QDebug | operator<<(QDebug debug, const QSslDiffieHellmanParameters &dhparam) |
Class QNetworkProxyFactory:
bool | usesSystemConfiguration() |
Class QOcspResponse:
bool | operator==(const QSslDiffieHellmanParameters &lhs, const QSslDiffieHellmanParameters &rhs) |
Class QSslConfiguration:
QSslDiffieHellmanParameters | diffieHellmanParameters() const |
QByteArray | preSharedKeyIdentityHint() const |
void | setDiffieHellmanParameters(const QSslDiffieHellmanParameters &dhparams) |
void | setPreSharedKeyIdentityHint(const QByteArray &hint) |
Class QSslDiffieHellmanParameters:
QDebug | operator<<(QDebug debug, const QSslDiffieHellmanParameters &dhparam) |
bool | operator==(const QSslDiffieHellmanParameters &lhs, const QSslDiffieHellmanParameters &rhs) |
uint | qHash(const QSslDiffieHellmanParameters &dhparam, uint seed) |
Class QSslPreSharedKeyAuthenticator:
bool | operator==(const QSslDiffieHellmanParameters &lhs, const QSslDiffieHellmanParameters &rhs) |
Class QUdpSocket:
QNetworkDatagram | receiveDatagram(qint64 maxSize) |
qint64 | writeDatagram(const QNetworkDatagram &datagram) |
Class QJSEngine:
QJSValue | newQMetaObject(const QMetaObject *metaObject) |
QJSValue | newQMetaObject() |
Class QJSValue:
bool | isQMetaObject() const |
const QMetaObject * | toQMetaObject() const |
Class QQmlEngine:
void | exit(int retCode) |
int | qmlRegisterUncreatableMetaObject(const QMetaObject &staticMetaObject, const char *uri, int versionMajor, int versionMinor, const char *qmlName, const QString &reason) |
Class QQuickWindow:
QSGImageNode * | createImageNode() const |
QSGNinePatchNode * | createNinePatchNode() const |
QSGRectangleNode * | createRectangleNode() const |
QSGRendererInterface * | rendererInterface() const |
void | setSceneGraphBackend(QSGRendererInterface::GraphicsApi api) |
void | setSceneGraphBackend(const QString &backend) |
Class QSGEngine:
QSGImageNode * | createImageNode() const |
QSGNinePatchNode * | createNinePatchNode() const |
QSGRectangleNode * | createRectangleNode() const |
QSGRendererInterface * | rendererInterface() const |
Class QQuickStyle:
void | setFallbackStyle(const QString &style) |
Class QSerialPort:
void | errorOccurred(QSerialPort::SerialPortError error) |
Class QWebSocket:
void | preSharedKeyAuthenticationRequired(QSslPreSharedKeyAuthenticator *authenticator) |
Class QWebSocketServer:
void | preSharedKeyAuthenticationRequired(QSslPreSharedKeyAuthenticator *authenticator) |
Class QFormLayout:
void | removeRow(int row) |
void | removeRow(QWidget *widget) |
void | removeRow(QLayout *layout) |
QFormLayout::TakeRowResult | takeRow(int row) |
QFormLayout::TakeRowResult | takeRow(QWidget *widget) |
QFormLayout::TakeRowResult | takeRow(QLayout *layout) |
Class QMainWindow:
void | tabifiedDockWidgetActivated(QDockWidget *dockWidget) |
Class QUndoStack:
void | resetClean() |
New Functions in Namespaces
QAndroidJniObject | androidContext() |
qreal | convertVolume(qreal volume, QAudio::VolumeScale from, QAudio::VolumeScale to) |
QTouchDevice * | createTouchDevice(QTouchDevice::DeviceType devType) |
char * | toString(std::nullptr_t) |
New Global Functions
bool | operator!=(QPointingDeviceUniqueId lhs, QPointingDeviceUniqueId rhs) |
bool | operator!=(std::nullptr_t, const QWeakPointer<T> &rhs) |
bool | operator!=(const QWeakPointer<T> &lhs, std::nullptr_t) |
bool | operator!=(std::nullptr_t, const QSharedPointer<T> &rhs) |
bool | operator!=(const QSharedPointer<T> &lhs, std::nullptr_t) |
bool | operator!=(std::nullptr_t, const QScopedPointer<T, Cleanup> &rhs) |
bool | operator!=(const QScopedPointer<T, Cleanup> &lhs, std::nullptr_t) |
QDebug | operator<<(QDebug debug, const QSslDiffieHellmanParameters &dhparam) |
bool | operator==(const QSslDiffieHellmanParameters &lhs, const QSslDiffieHellmanParameters &rhs) |
bool | operator==(QPointingDeviceUniqueId lhs, QPointingDeviceUniqueId rhs) |
bool | operator==(std::nullptr_t, const QWeakPointer<T> &rhs) |
bool | operator==(const QWeakPointer<T> &lhs, std::nullptr_t) |
bool | operator==(std::nullptr_t, const QSharedPointer<T> &rhs) |
bool | operator==(const QSharedPointer<T> &lhs, std::nullptr_t) |
bool | operator==(std::nullptr_t, const QScopedPointer<T, Cleanup> &rhs) |
bool | operator==(const QScopedPointer<T, Cleanup> &lhs, std::nullptr_t) |
uint | qHash(const QSslDiffieHellmanParameters &dhparam, uint seed) |
uint | qHash(const QRawFont &font, uint seed) |
uint | qHash(QPointingDeviceUniqueId key, uint seed) |
uint | qHash(const QMultiHash<Key, T> &key, uint seed) |
uint | qHash(const QHash<Key, T> &key, uint seed) |
int | qmlRegisterUncreatableMetaObject(const QMetaObject &staticMetaObject, const char *uri, int versionMajor, int versionMinor, const char *qmlName, const QString &reason) |
New Macros
QT_NO_NARROWING_CONVERSIONS_IN_CONNECT | |
QT_NO_NARROWING_CONVERSIONS_IN_CONNECT | |
Q_ENUM_NS(...) | |
Q_ENUM_NS(...) | |
void | Q_FALLTHROUGH |
void | Q_FALLTHROUGH |
Q_FLAG_NS(...) | |
Q_FLAG_NS(...) | |
Q_NAMESPACE | |
Q_NAMESPACE |
New Enum Types
enum | VolumeScale { LinearVolumeScale, CubicVolumeScale, LogarithmicVolumeScale, DecibelVolumeScale } |
enum | DiscoveryMethod { NoMethod, ClassicMethod, LowEnergyMethod } |
enum | ConversionModeFlag { ConvertV4MappedToIPv4, ConvertV4CompatToIPv4, ConvertUnspecifiedAddress, ConvertLocalHost, TolerantConversion, StrictConversion } |
enum | LegendMarkerType { LegendMarkerTypeArea, LegendMarkerTypeBar, LegendMarkerTypePie, LegendMarkerTypeXY, LegendMarkerTypeBoxPlot, LegendMarkerTypeCandlestick } |
enum | anonymous { NoContainer, NoString, NoInstruction, NoEvaluator } |
New Type Aliases
typedef | QModbusDataUnitMap |
typedef | QModbusDataUnitMap |
typedef | const_iterator |
typedef | const_reverse_iterator |
typedef | ContainerId |
typedef | EvaluatorId |
typedef | InstructionId |
typedef | StringId |
New Properties
- useHoverEffects : const
New QML Types
New QML Properties
delayed | |
font.hintingPreference | |
font.hintingPreference | |
font.hintingPreference | |
imageSource | |
overwriteMode | |
overwriteMode |
New QML Signals
New QML Methods
Additions to Other Qt 5 Releases
© 2024 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.