C
Event Sender: Sending Messages to Applications
// Copyright (C) 2025 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial // This file is part of the Qt Safe Renderer module #include <QtSafeRenderer/qsafechecksum.h> #include <QtSafeRenderer/qsafestring.h> #include <QtSafeRenderer/qsafeevent.h> #include <QtSafeEventSender/qsafeeventsender.h> #include <QtSafeEventHandlerAdaptation/eventhandler.h> #include <QtSafeGraphicsAdaptation/safewindow.h> #include <qsafelayoutresourcereader.h> #include "tcpdatacontrol.h" #include <statemanager.h> #include <QQuickView> #include <QWindow> #include <QGuiApplication> #include <QQmlApplicationEngine> #include <QQmlContext> #include <QQmlEngine> #include <QGuiApplication> #include <QProcess> using namespace SafeRenderer; int main(int argc, char **argv) { QGuiApplication app(argc, argv); app.setWindowIcon(QIcon(":/Application_Logo.png")); TCPDataControl dataInterface; // Mixing the Qt and Qt Safe Renderer here is done to demonstrate the integration of both frameworks. // This setup allows developers to test, visualize, and verify that the Safe Renderer output is valid and correct alongside the standard Qt UI components. // Note: This approach is intended for demonstration purposes only and should not be used in production environments. QQmlApplicationEngine view; const QUrl url(QStringLiteral("qrc:/Controller.qml")); view.rootContext()->setContextProperty("clusterDataControl", &dataInterface); view.rootContext()->setContextProperty("hostName", qgetenv("QT_SAFERENDER_HOST")); QObject::connect(&view, &QQmlApplicationEngine::objectCreated, qApp, [url](QObject *obj, const QUrl &objUrl) { if (!obj && url == objUrl) qDebug() << "Failed to start the Controller.qml"; }, Qt::QueuedConnection); view.addImportPath(":/imports"); view.load(url); return app.exec(); }