Существуют ли стандартные иконки для qml-app-development?

Я занимаюсь разработкой qml-приложения и хочу разместить значки на кнопках. Я хотел бы использовать стандартные значки Ubuntu, чтобы получить настоящий вид Ubuntu для моего приложения. Как я могу это сделать?

12
задан 2 May 2013 в 22:59

3 ответа

Официальная тема иконки Ubuntu Touch называется Ubuntu Mobile и доступна для установки в пакете ubuntu-mobile-icons. Вот пример предоставленных иконок:

Ubuntu Mobile Action icons

Чтобы использовать иконки в вашем коде, просто используйте путь к иконке. Например, чтобы установить иконку в кнопку панели инструментов, сделайте что-нибудь подобное:

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

Чтобы избежать необходимости повторять путь корня снова и снова, я обычно использую небольшую функцию getIcon, которая возвращает реальный путь к иконке:

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

Предыдущий пример был бы:

ToolbarButton {
    text: i18n.tr("Refresh")
    iconSource: getIcon("reload")
}
8
ответ дан 2 May 2013 в 22:59

Я только начал заниматься QML, но похоже, что Ubuntu SDK предоставляет способ доступа к значкам из темы, компонент Icon. Вот пример 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
        }

        }
    }
}

Это дает вам:

qml-icons-hello-world

AFAICT, на самом деле, похоже, что это не поддерживает полный набор значков, предоставляемых спецификацией темы значков Freedesktop .....

4
ответ дан 2 May 2013 в 22:59

Тема по умолчанию для мобильного Ubuntu - Suru, а значки расположены в / usr / share / icons / suru

Любой из значков можно использовать по имени. Даже значки за пределами набора значков Suru.

Если файл имеет вид /usr/share/icons/suru/actions/scalable/like.svg

Код может быть таким:

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

Что дает вам действие кнопка со значком сердца.

0
ответ дан 2 May 2013 в 22:59

Другие вопросы по тегам:

Похожие вопросы: