QML, значок меню будет отображаться некорректно

#android #user-interface #fonts #menu #qml

#Android #пользовательский интерфейс #шрифты #меню #qml

Вопрос:

Следующий стандартный код QML не работает. Вместо значка меню с 3 маленькими строками (unicode u2630) я получаю прямоугольник с крестом внутри: он не находит символ. Однако при необходимости он находит стрелку влево u25C0 (треугольная кнопка назад).

Это всего лишь косметический сбой, так как он работает отлично.

Связано ли это с шрифтом или с отображением значка? Как это решить?

 import QtQuick 2.15
import QtQuick.Controls 2.15

ApplicationWindow {
    id: window
    width: 640
    height: 480
    visible: true
    title: qsTr("Stack")

    header: ToolBar {
        contentHeight: toolButton.implicitHeight

        ToolButton {
            id: toolButton
            text: stackView.depth > 1 ? "u25C0" : "u2630"
            font.pixelSize: Qt.application.font.pixelSize * 1.6
            onClicked: {
                if (stackView.depth > 1) {
                    stackView.pop()
                } else {
                    drawer.open()
                }
            }
        }

        Label {
            text: stackView.currentItem.title
            anchors.centerIn: parent
        }
    }
(...)
  

Комментарии:

1. Да, это может быть связано со шрифтом. Есть ли в вашем шрифте этот символ?

2. Вероятно, нет. Дело в том, что я не устанавливаю какой-либо шрифт, поэтому он использует, вероятно, шрифт по умолчанию (работает одинаково на моем смартфоне и эмуляторе). Я ожидал бы, что этот будет поддерживать этот самый обычный символ на Android.

3. Я протестировал код в Ubuntu, и он работает так, как ожидалось. Шрифт по умолчанию с именем Ubuntu . Прямоугольник с крестом, вероятно, есть (СИМВОЛ ЗАМЕНЫ U FFFD), как я знаю, используется для сигнализации ошибок в недопустимых потоках Unicode

4. Та же проблема на Android 8. На Win и других версиях Android все работает нормально. @Jacques, вы решили эту проблему?

Ответ №1:

Для тех, кто приходит сюда из поиска, я оставлю здесь ответ от Qt.io форум https://forum.qt.io/topic/123877/stackview-icon-on-android