ich folgende main.qml Datei habe:Externe Binärressource geöffnet, aber nicht vorhanden in QML
import QtQuick 2.5
import QtQuick.Controls 1.4
Item
{
anchors.centerIn: parent
Label
{
id: textLabel
anchors.fill: parent
x: 200
y: 400
}
CustomObject
{
id: customObjectId
}
}
CustomObject
ist eine QML
Datei in einer externen binären Ressource definiert, erzeugt durch den rcc
Befehl:
rcc -binary -o redTheme.qrc redTheme.rcc
CustomObject.qml
import QtQuick 2.5
import QtQuick.Controls 1.4
Item
{
Rectangle
{
width: 200
height: 120
color: "blue"
Label
{
text: "customObject"
}
}
}
Im C++
Seite, melde ich meine Ressource wie folgt aus:
QResource::registerResource(QCoreApplication::applicationDirPath() + "/data/themes/redTheme.rcc");
Die Funktion true
zurückgibt, was bedeutet, dass die Datei geöffnet wird.
Noch existiert CustomObject
nicht in meiner main.qml Datei. Warum?
CustomObject is not a type
EDIT: ich CustomObject
in eine QML Module
gewickelt habe und es dann in eine .rcc
Datei kompiliert (es bedeutet, dass die qmldir
Datei im .qrc
ist). Kein Unterschied, CustomObject
wird immer noch nicht als ein Typ erkannt, auch wenn ich eine import
Anweisung (import redTheme 1.0
) hinzufügen. Inhalt meiner qmldir Datei:
module redTheme
CustomObject 1.0 CustomObject.qml
Mögliche Duplikat [Dynamisch QML Thema zur Laufzeit ändern] (http://stackoverflow.com/questions/36335481/dynamically-change-qml-theme-at-runtime) –