sergio/takana
> Una distribución Linux construida con un laboratorio funcional y hermético en el > sótano, y una terminal mutable, clásica y anárquica en el piso de arriba — diseñada > desde el suelo para que una IA programadora entienda, modifique y co…
kde/H-QML: GATE PASADO — reproducer QtQuick corre rc=0 offscreen
1// H-QML — reproducer del hito QML (ADR 0011, Capa 1). Carga QML inline (Window + Text vía QtQuick),
2// verifica que el engine instancia el árbol de objetos y corre el event loop. Compilado contra
3// qtbase+qtdeclarative sellados (dinámico/musl/zig-cc) y corrido con QT_QPA_PLATFORM=offscreen prueba
4// end-to-end que el motor QML/QtQuick — el corazón de Plasma — carga e instancia una escena.
5#include <QGuiApplication>
6#include <QQmlApplicationEngine>
7#include <QTimer>
8#include <cstdio>
9int main(int argc, char** argv) {
10 QGuiApplication app(argc, argv);
11 QQmlApplicationEngine engine;
12 const char* qml =
13 "import QtQuick\n"
14 "Window { visible: true; width: 320; height: 200; color: \"#222\"\n"
15 " Text { anchors.centerIn: parent; color: \"white\"; text: \"Hammer KDE — H-QML OK\" } }";
16 engine.loadData(QByteArray(qml));
17 if (engine.rootObjects().isEmpty()) {
18 std::printf("H-QML: FALLO — el engine no instanció el árbol QML\n");
19 return 2;
20 }
21 std::printf("H-QML: QML instanciado (Window+Text via QtQuick); plataforma=%s\n",
22 app.platformName().toUtf8().constData());
23 QTimer::singleShot(150, &app, &QGuiApplication::quit);
24 int rc = app.exec();
25 std::printf("H-QML: event loop terminó rc=%d\n", rc);
26 return rc;
27}