Gibt es Standardsymbole für die qml-app-Entwicklung?

11

Ich entwickle eine qml-App und möchte Symbole auf die Schaltflächen setzen. Ich möchte Ubuntu-Standardsymbole verwenden, um den echten Ubuntu-Look für meine App zu erhalten. Wie kann ich das machen?

Oliver Heidbüchel
quelle
Sie möchten Symbole von jemand anderem verwenden? Beachten Sie das Urheberrecht! Ein Symbol ist eine kreative Arbeit. Es ist urheberrechtlich geschützt. Sie sollten also zuerst die Copyright-Lizenz überprüfen, die mit diesem Symbol geliefert wird. Ich hatte diese Webseite in meinen Lesezeichen. Es geht darum, dass Canonical - das Geschäft hinter Ubuntu - den 'Faenza'-Typen engagiert, um neue Symbole zu erstellen.
iloveubuntu.net/…
Daniel Holm
Sicherlich muss die API eine Möglichkeit bieten, ein Symbol aus dem systemweiten Thema zu erhalten. Warum war das geschlossen?
Andrews etwas

Antworten:

8

Das offizielle Ubuntu Touch-Symbolthema heißt Ubuntu Mobile und kann im ubuntu-mobile-iconsPaket installiert werden. Hier ist ein Beispiel der bereitgestellten Symbole:

Ubuntu Mobile Action-Symbole

Um die Symbole in Ihrem Code zu verwenden, verwenden Sie einfach den Pfad zum Symbol. Führen Sie beispielsweise Folgendes aus, um das Symbol in einer Symbolleistenschaltfläche festzulegen:

ToolbarButton {
    text: i18n.tr("Refresh")
    iconSource: Qt.resolvedUrl("/usr/share/icons/ubuntu-mobile/actions/scalable/reload.svg")
}

Um zu vermeiden, dass der Stammpfad immer wieder wiederholt werden muss, verwende ich normalerweise eine kleine Funktion namens, getIcondie den tatsächlichen Pfad zu einem Symbol zurückgibt:

function getIcon(name) {
    return Qt.resolvedUrl("/usr/share/icons/ubuntu-mobile/actions/scalable/" + name + ".svg")
}

Das vorherige Beispiel wäre dann:

ToolbarButton {
    text: i18n.tr("Refresh")
    iconSource: getIcon("reload")
}
Ich glaube
quelle
3
Diese Antwort muss aktualisiert werden. Die korrekte und offizielle Art der Verwendung von Symbolen ist iconName: "reload" oder iconSource: "image: // theme /
reload
4

Ich habe gerade erst angefangen, mich mit QML zu beschäftigen, aber es sieht so aus, als ob das Ubuntu SDK eine Möglichkeit bietet, über das Thema, die Icon-Komponente , auf Symbole zuzugreifen . Hier ist ein Beispiel von Hello Worldish:

import QtQuick 2.0
import Ubuntu.Components 0.1

MainView {
    id: root
    objectName: "mainView"

    width: units.gu(50)
    height: units.gu(75)

    property real margins: units.gu(2)
    property real buttonWidth: units.gu(9)

    Page {
        title: i18n.tr("Icons!")

    Column {

        anchors {
            fill: parent
            margins: root.margins
        }
        spacing: units.gu(1)

        Icon {
            name: "call-start"
            width: 48
            height: 48
         }

        Icon {
            name: "call-stop"
            width: 48
            height: 48
         }

        Icon {
            name: "find"
            width: 48
            height: 48
        }

        }
    }
}

Dies gibt Ihnen:

qml-icons-hallo-welt

AFAICT, dies scheint jedoch nicht den gesamten Satz von Symbolen zu unterstützen, die in der Freedesktop Icon Theme Specification bereitgestellt werden.

andrewsomething
quelle
0

Das Standardthema für Ubuntu Mobile ist Suru und die Symbole befinden sich in /usr/share/icons/suru

Jedes der Symbole kann nach Namen verwendet werden. Sogar Symbole außerhalb des Suru-Symbolsatzes.

Wenn die Datei ist /usr/share/icons/suru/actions/scalable/like.svg

Der Code könnte sein:

Action {
    id: likeAction
    iconName: "like"    // the files name without file ending
    text: "I like this"
}

Dadurch erhalten Sie eine Aktionsschaltfläche mit einem Herzsymbol.

Horselover Fat
quelle