Как использовать темы в QML для Ubuntu Phone

10

Документация по Ubuntu Interface Toolkit описывает документацию для элементов QML с синтаксисом, очень похожим на CSS. Это звучит удивительно для меня, но я не могу начать с этого. Я много пробовал, но, думаю, мне не хватает ответов на некоторые фундаментальные вопросы:

  1. Существуют ли правила относительно того, где размещать файлы .qmltheme и как их называть?
  2. Как делается ссылка? Будут ли правила стиля, которые я установил в файле .qmltheme, автоматически добавляться к элементу с соответствующим именем? Или мне нужно как-то установить ссылку в файле .qmltheme на файл, содержащий QML-элемент, или наоборот, или на оба?

Может быть, я не понял важную часть документации. Английский не является моим родным языком, и поэтому мне сложно получить эту конкретную документацию.

Джошуа Гляйтце
источник

Ответы:

4

К сожалению, документация не объясняет, как приложения должны быть тематическими, тем более что эта часть не полностью реализована. Однако приложения могут по-прежнему загружать файлы тем, где они изменяют системные стили и задают свои собственные.

  1. Нет конкретного правила, куда помещать файл темы приложения. Однако это должно быть в месте, которое приложение знает и может получить к нему доступ. Тема может быть загружена с помощью Theme.loadTheme(url)функции, где urlнаходится URL / URI для .qmlthemeфайла. Например, если файл темы находится в папке «theme» относительно папки приложения, вы должны иметьTheme.loadTheme(Qt.resolvedUrl("./theme/mytheme.qmltheme"))

  2. Я не уверен, что понимаю, что вы имели в виду под "ссылкой" здесь. Вы ссылаетесь на то, как стилизованный компонент узнает, какой стиль использовать, или вы ссылаетесь на то, как QML-элементы, предоставляющие визуальные элементы, будут связаны со стилизованным компонентом?

zsombi
источник
1
TypeError: Property 'loadTheme' of object UCTheme(0x7fc01c4ce980) is not a functionЭто эксперимент, который подошел к концу, или мы должны ожидать, что это сработает в будущем? Похоже, что единственными остатками документов являются people.canonical.com/~dpm/sdk-docs/html.orig/…
andrewsomething