Verwendung von Theming in QML für Ubuntu Phone

10

Die Ubuntu Interface Toolkit-Dokumentationen dokumentieren das Theming für QML-Elemente mit einer Syntax, die CSS sehr ähnlich ist. Es klingt erstaunlich für mich, aber ich kann nicht damit anfangen. Ich habe viel versucht, aber ich glaube, ich vermisse Antworten auf einige grundlegende Fragen:

  1. Gibt es Regeln, wo die .qmltheme-Dateien abgelegt und wie sie benannt werden sollen?
  2. Wie erfolgt die Referenzierung? Werden die Stilregeln, die ich in der .qmltheme-Datei festgelegt habe, automatisch an das Element angehängt, für das der entsprechende Name festgelegt wurde? Oder muss ich in der .qmltheme-Datei irgendwie einen Verweis auf die Datei setzen, die das QML-Element enthält, oder umgekehrt oder auf beides?

Vielleicht habe ich einen wichtigen Teil der Dokumentation nicht verstanden. Englisch ist keine meiner Muttersprachen und daher ist diese spezielle Dokumentation für mich schwer zu bekommen.

Joshua Gleitze
quelle

Antworten:

4

Leider erklärt die Dokumentation nicht, wie Anwendungen thematisiert werden sollten, insbesondere, dass dieser Teil nicht vollständig implementiert ist. Anwendungen können jedoch weiterhin Themendateien laden, in denen sie die vom System definierten Stile ändern und ihre eigenen angeben.

  1. Es gibt noch keine spezifische Regel, wo die anwendungsspezifische Themendatei abgelegt werden soll. Es sollte sich jedoch an einem Ort befinden, den die Anwendung kennt und auf den sie zugreifen kann. Das Thema kann mit der Theme.loadTheme(url)Funktion geladen werden , wobei urlsich die URL / URI der .qmlthemeDatei befindet. Angenommen, die Themendatei befindet sich im Ordner "Theme" relativ zum Ordner der AnwendungTheme.loadTheme(Qt.resolvedUrl("./theme/mytheme.qmltheme"))

  2. Ich bin mir nicht sicher, ob ich verstehe, was Sie hier unter "Referenz" gemeint haben. Beziehen Sie sich darauf, wie eine gestaltete Komponente weiß, welchen Stil sie verwenden soll, oder beziehen Sie sich darauf, wie die QML-Elemente, die die visuellen Elemente bereitstellen, mit der gestalteten Komponente verknüpft werden?

zsombi
quelle
1
TypeError: Property 'loadTheme' of object UCTheme(0x7fc01c4ce980) is not a functionIst dies ein Experiment, das sein Ende erreicht hat, oder sollten wir erwarten, dass dies in Zukunft funktioniert? Die einzigen Überreste der Dokumente scheinen people.canonical.com/~dpm/sdk-docs/html.orig/… zu sein
andrewsomething