Ответы пользователя по тегу QML
  • Как анимировать элементы GridView в QML?

    @Griglapidus
    C++/Qt
    Нужно что бы ваша модель генерировала сигнал. После чего без проблем делается обработчик этого сигнала в QML.
    C++:
    void someSignal(QString result);
    QML:
    Connections {
        target: model
        onSomeSignal: {
          if(result.length) {
            resultLabel.text = result;
          }
        }
    
      }
    Ответ написан
  • Из за чего может быть ошибка вывода кириллицы qml Text?

    @Griglapidus Автор вопроса
    C++/Qt
    Промежуточный результат. Если у Text задать свойство renderType: Text.NativeRendering то текст становится нормальным. Осталось выяснить почему так происходит.

    Дополнено:
    что бы применить нативный рендер ко всему проекту можно вставить qputenv("QML_DISABLE_DISTANCEFIELD", "1"); в начале main либо через функцию
    void QQuickWindow::setTextRenderType(QQuickWindow::TextRenderType renderType)
    с параметром QQuickWindow::NativeTextRendering
    Ответ написан
    Комментировать
  • Как настроить внешний вид слайдера QML?

    @Griglapidus
    C++/Qt
    В qml есть 2 версии QtQuick.Controls - собственно 1 и 2. По дефолту ты подключаешь 2 , а в ней стилей нет. В ней кастомизация делается по другому. Пример: Qt Doc. Как написано здесь stack чтобы все заработало как ты хочешь нужно использовать QtQuick.Controls 1 версии. Например так:
    import QtQuick 2.14
    import QtQuick.Window 2.14
    import QtQuick.Controls 1.4  as QQC1
    import QtQuick.Controls 2.14 as QQC2
    import QtQuick.Controls.Styles 1.4
    
    Window {
        visible: true
        width: 640
        height: 480
        title: qsTr("Hello World")
    
        QQC1.Slider {
            anchors.centerIn: parent
            style: SliderStyle {
                groove: Rectangle {
                    implicitWidth: 200
                    implicitHeight: 8
                    color: "gray"
                    radius: 8
                }
                handle: Rectangle {
                    anchors.centerIn: parent
                    color: control.pressed ? "white" : "lightgray"
                    border.color: "gray"
                    border.width: 2
                    implicitWidth: 34
                    implicitHeight: 34
                    radius: 12
                }
            }
        }
    }
    Ответ написан
    Комментировать