Reutilize o código da barra de ferramentas para cada guia

3

Estou criando um aplicativo de música usando o QML e ele usa cerca de cinco guias, cada uma usando uma barra de ferramentas. A barra de ferramentas deve ser a mesma, então, em vez de ter exatamente o mesmo código para cada guia, eu queria reutilizar o código de apenas uma barra de ferramentas para cada uma das guias.

Eu tentei usar um arquivo .qml externo apenas com o código da Barra de Ferramentas, mas não funcionou.

Como posso usar o mesmo código para a barra de ferramentas, em vez de copiar, colar o mesmo código várias vezes no arquivo de código?

    
por Daniel Holm 08.05.2013 / 17:44

1 resposta

3

Você tentou definir uma barra de ferramentas no mainview e simplesmente usar esse id toda vez?

Assim:

import QtQuick 2.0
import Ubuntu.Components 0.1

MainView {
    // objectName for functional testing purposes (autopilot-qt5)
    objectName: "mainView"
    applicationName: "toolbartest"
    id: root

   // S4 resolution 1920x1080
    width: units.gu(54)
    height: units.gu(96)

    ToolbarActions{
        id: centralBar
        Action {
            text: "print"
            onTriggered: print("action triggered")
        }
        Action {
            text: "next"
            onTriggered: {
                if (tabs.selectedTabIndex < 2){ 
                    tabs.selectedTabIndex += 1
                } else {
                    tabs.selectedTabIndex = 0
                }
            }
        }
    }

    Tabs {
        id: tabs
        Tab {
            title: i18n.tr("Tab1")
            page: Page {
                Label {
                    id: label1
                    anchors.centerIn: parent
                    text: "A centered label"
                }
                tools: centralBar
            }
        }
        Tab {
            title: i18n.tr("Tab2")
            page: Page {
                Label {
                    id: label2
                    anchors.centerIn: parent
                    text: "A centered label2"
                }
                tools: centralBar
            }
        }    

        Tab {
            title: i18n.tr("Tab3")
            page: Page {
                Label {
                    id: label3
                    anchors.centerIn: parent
                    text: "A centered label3"
                }
                tools: centralBar
            }       
        }
    }
}
    
por xubuntix 16.05.2013 / 10:53