QML -AnfängerFrage
Unsolved
German
-
Muss das Wurzelelement immer Window sein damit die Anwendung angezeigt wird?
z.B wenn man das Qt Beispiel nimmt dann sieht man nichts.import QtQuick 2.0
Rectangle{
width: 100
height: 100
color: "red"
border.color: "black"
boder.width: 5
radius: 10
}
Erst wenn ich es als Kind von Windows mache dann wird das rote Rechteck angezeigt. Übersehe ich hier was?
Danke -
@sowas kommt drauf an, in was dein QML File geladen wird.
- ein QQuickWidget sollte mit deinem Beispiel problemlos klar kommen.
- als root Element einer QQmlApplicationEngine... nein. Das muss ein Window oder ein derivative wie ApplicationWindow sein, was als root Element geladen wird.
-
@J-Hilk said in QML -AnfängerFrage:
QQuickWidget
Danke für die schelle Antwort.
Ich hatte kein QQuickWidget, ich habe eine neue QMl-Anwendung angemeldet und den StandarttextWindow { width: 640 height: 480 visible: true title: qsTr("Hello World") }
durch
Rectangle{ width: 100 height: 100 color: "red" border.color: "black" boder.width: 5 radius: 10 visible: true }
ersetzt, aber in der main.cpp war die QQmlApplicationEngine:
int main(int argc, char *argv[]) { QGuiApplication app(argc, argv); QQmlApplicationEngine engine; const QUrl url(u"qrc:/viereck/main.qml"_qs); QObject::connect(&engine, &QQmlApplicationEngine::objectCreated, &app, [url](QObject *obj, const QUrl &objUrl) { if (!obj && url == objUrl) QCoreApplication::exit(-1); }, Qt::QueuedConnection); engine.load(url); return app.exec(); }