Dieses Programm schlägt automatisch fehl, es wird keine Nachricht im Debug-Modus oder im Freigabemodus angezeigt, das Fenster wird nicht angezeigt. Sie können jedoch sehen, dass die Programm.exe im Task-Manager ausgeführt wird. Was ist los ? wie man es repariert ? Warum scheitert es? Warum wird keine Nachricht angezeigt?Was ist falsch mit dieser Art des Ladens von C++ QStringList als Modell für eine QML ListView?
Die QML Schnittstellendatei
//main.qml
import QtQuick 2.5
ListView {
width: 100; height: 100
model: myModel
delegate: Rectangle {
height: 25
width: 100
Text { text: modelData }
}
}
Die C++ Hauptdatei
// main.cpp
#include <QGuiApplication>
#include <QQmlApplicationEngine>
#include <QQmlContext>
int main(int argc, char *argv[])
{
QGuiApplication app(argc, argv);
QStringList dataList;
dataList.append("item 1");
dataList.append("item 2");
dataList.append("item 3");
dataList.append("item 4");
dataList.append("item 5");
QQmlApplicationEngine engine;
engine.rootContext()->setContextProperty("myModel",QVariant::fromValue(dataList));
engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
return app.exec();
}
Das lässt mich wie ein Idiot aussehen, danke für Ihre schnelle Antwort. –
Warum ist das Fenster standardmäßig nicht sichtbar? –
Ich möchte in der Lage sein, Modellklassen zu entwerfen, die mit QML-Ansichten arbeiten. Kann ich sie erstellen und unter Konsolenanwendung testen? Gibt es eine fertige Konsole, die speziell zum Testen von ModelClasses entwickelt wurde? –