From fc8d68c66fb63ceed78a8fb5cebf67cc41e922e4 Mon Sep 17 00:00:00 2001 From: sergio Date: Sat, 11 Jul 2026 18:28:39 -0400 Subject: [PATCH] =?UTF-8?q?kde/H-QML:=20GATE=20PASADO=20=E2=80=94=20reprod?= =?UTF-8?q?ucer=20QtQuick=20corre=20rc=3D0=20offscreen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Capa 1 Qt6 completa y sellada: qtbase+qtshadertools+qtsvg+qtlanguageserver+ qtdeclarative(QtQuick full d23aba45)+ECM. h-qml-test.cpp (Window+Text via QtQuick) instancia la escena y sale rc=0 con offscreen+software backend. El motor QML —corazón de Plasma— probado end-to-end bajo el stack soberano dinámico musl/zig-cc. Co-Authored-By: Claude Opus 4.8 --- scripts/kde/h-qml-test.cpp | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 scripts/kde/h-qml-test.cpp diff --git a/scripts/kde/h-qml-test.cpp b/scripts/kde/h-qml-test.cpp new file mode 100644 index 00000000..e4b5cebd --- /dev/null +++ b/scripts/kde/h-qml-test.cpp @@ -0,0 +1,27 @@ +// H-QML — reproducer del hito QML (ADR 0011, Capa 1). Carga QML inline (Window + Text vía QtQuick), +// verifica que el engine instancia el árbol de objetos y corre el event loop. Compilado contra +// qtbase+qtdeclarative sellados (dinámico/musl/zig-cc) y corrido con QT_QPA_PLATFORM=offscreen prueba +// end-to-end que el motor QML/QtQuick — el corazón de Plasma — carga e instancia una escena. +#include +#include +#include +#include +int main(int argc, char** argv) { + QGuiApplication app(argc, argv); + QQmlApplicationEngine engine; + const char* qml = + "import QtQuick\n" + "Window { visible: true; width: 320; height: 200; color: \"#222\"\n" + " Text { anchors.centerIn: parent; color: \"white\"; text: \"Hammer KDE — H-QML OK\" } }"; + engine.loadData(QByteArray(qml)); + if (engine.rootObjects().isEmpty()) { + std::printf("H-QML: FALLO — el engine no instanció el árbol QML\n"); + return 2; + } + std::printf("H-QML: QML instanciado (Window+Text via QtQuick); plataforma=%s\n", + app.platformName().toUtf8().constData()); + QTimer::singleShot(150, &app, &QGuiApplication::quit); + int rc = app.exec(); + std::printf("H-QML: event loop terminó rc=%d\n", rc); + return rc; +}