O que o head: property faz na página {} no qml?

4

Eu tenho um aplicativo que estou tentando fazer com que a barra de ferramentas no cabeçalho funcione. Na documentação, notei uma propriedade chamada head que parece criar e adicionar itens à barra de ferramentas do cabeçalho.

Qual é a diferença entre este e o toolbaritems ?

Além disso, ao tentar usar essa propriedade head, recebo o erro: Não é possível atribuir à propriedade inexistente "head" (semelhante à pergunta Por que estou recebendo o erro" Não é possível atribuir a propriedade inexistente "cabeça"? )

Qual é o caminho correto (ou melhor)?

Obrigado

Randy

    
por Randy_O 07.09.2014 / 17:40

1 resposta

6

toolbaritems foi reprovado em Ubuntu.Components 1.1 , portanto, seu uso é altamente desencorajado. Ele é mantido para compatibilidade com versões anteriores, mas o jeito certo de adicionar itens à barra de ferramentas do cabeçalho agora está usando head.actions .

A principal diferença entre head.actions e toolbaritems é que você não precisa mais adicionar ToolbarButton itens e, em seguida, definir sua propriedade action . Tudo o que você precisa com head.actions é especificar uma lista de ações e, em seguida, elas serão mostradas automaticamente de acordo com Padrões de toque do Ubuntu .

Um exemplo que mostra como usar a propriedade head é o seguinte (de documentação oficial ):

import QtQuick 2.0
import Ubuntu.Components 1.1

MainView {
     width: units.gu(48)
     height: units.gu(60)
     Page {
         title: i18n.tr("Example page")
         Label {
             anchors.centerIn: parent
             text: i18n.tr("Hello world!")
        }
        head.actions: [
             Action {
                 iconName: "search"
                 text: i18n.tr("Search")
             },
             Action {
                 iconName: "contacts"
                 text: i18n.tr("Contacts")
             }
        ]
    }
}

Existem algumas outras configurações úteis para PageHead (por exemplo, custom Item para mostrar em vez do título), então sugiro que você dê uma olhada neste page .

Se você estiver executando o Ubuntu 14.04 LTS, estas novas APIs não estarão disponíveis, devido à sua dependência do Qt 5.3. Você pode resolver este problema seguindo este link .

    
por Stefano Verzegnassi 10.09.2014 / 18:00