Como usar temas no QML para Ubuntu Phone

10

As Documentações do Ubuntu Interface Toolkit documentam o Theming for QML Elements com uma sintaxe bastante semelhante ao CSS. Parece incrível para mim, mas não consigo começar. Eu tentei muito, mas acho que estou perdendo respostas para algumas perguntas fundamentais:

  1. Existem regras sobre onde colocar os arquivos .qmltheme e como nomeá-los?
  2. Como é feita a referência? As regras de estilo definidas no arquivo .qmltheme serão automaticamente anexadas ao elemento com o respectivo nome definido? Ou preciso definir de alguma forma uma referência no arquivo .qmltheme para o arquivo que contém o elemento QML, ou o contrário, ou ambos?

Talvez eu não tenha entendido uma parte importante da documentação. O inglês não é meu idioma nativo e, portanto, é difícil obter essa documentação específica para mim.

Joshua Gleitze
fonte

Respostas:

4

Infelizmente, a documentação não explica como os aplicativos devem ser temáticos, especialmente que esta parte não está totalmente implementada. No entanto, os aplicativos ainda podem carregar arquivos de tema nos quais eles alteram os estilos definidos pelo sistema e especificam seus próprios.

  1. Ainda não existe uma regra específica para colocar o arquivo de tema específico do aplicativo. No entanto, ele deve estar em um local que o aplicativo conheça e possa acessar. O tema pode ser carregado usando a Theme.loadTheme(url)função, onde urlestá o URL / URI do .qmlthemearquivo. Por exemplo, supondo que o arquivo de tema esteja na pasta "theme" em relação à pasta do aplicativo, você deve terTheme.loadTheme(Qt.resolvedUrl("./theme/mytheme.qmltheme"))

  2. Não sei se entendi o que você quis dizer com "referência" aqui. Você se refere a como um componente estilizado saberá qual estilo usar, ou como os elementos QML que fornecem os visuais serão vinculados ao componente estilizado?

zsombi
fonte
1
TypeError: Property 'loadTheme' of object UCTheme(0x7fc01c4ce980) is not a functionEste é um experimento que chegou ao fim ou devemos esperar que isso funcione no futuro? Os únicos remanescentes dos docs parecem ser people.canonical.com/~dpm/sdk-docs/html.orig/...
andrewsomething