Михаиллл
June 29, 2019, 8:53 p.m.

QML не работает на iOS

Добрый день.
Сделал проект на QML. В Windows, Android, MacOS все работает, но на iOS появляется только фон и не загружаются кнопки.
Скажите пожалуйста, почему такое может быть?
Ниже код странички, которая загружается первой:
main.qml:

import QtQuick 2.9
import QtQuick.Window 2.2

Window {
    visible: true
    width: 400
    height: 600
    title: qsTr("Psychic Training")

    color: "#cffff8"

    /
     Connections
     {
         target: dataWorking       
     }

    Loader
              {
                  id: loader
                  anchors.fill: parent
                  source: "Page0.qml"
              }
}

Page0.qml:
import QtQuick 2.4
import QtQml 2.12

Page0Form {

pag0Label1.text:  "Victories: "+ dataWorking.getWinProcent() + "%"

page0Button6.onClicked:
{
    dataWorking.toZero()
    dataWorking.setRandomNamber(1,5)
    loader.source = "Page7.qml"
}
page0Button5.onClicked:
{
    dataWorking.toZero()
    dataWorking.setRandomNamber(1,9)
    loader.source = "Page6.qml"
}
page0Button4.onClicked:
{
    dataWorking.toZero()
    dataWorking.setRandomNamber(1,4)
    loader.source = "Page5.qml"
}
page0Button3.onClicked:
{
    loader.source = "Page4.qml"
    dataWorking.toZero()
    dataWorking.setRandomNamber(1,2)
}
page0Button2.onClicked:
{
    dataWorking.toZero()
    dataWorking.setRandomNamber(1,9)
    loader.source = "Page3.qml"
}
page0Button1.onClicked:
{
    dataWorking.toZero()
    dataWorking.setRandomNamber(1,4)
    loader.source = "Page2.qml"
}
page0Button0.onClicked:
{
    dataWorking.toZero()
    dataWorking.setRandomNamber(1,2)
    loader.source = "Page1.qml"
}

}
Page0Form.ui.qml:

import QtQuick 2.4
import QtQuick.Controls 2.4
import QtQuick.Controls.Styles 1.4

Item {
    id: element
    width: 400
    height: 600
    property alias page0Button6: page0Button6
    property alias page0Button5: page0Button5
    property alias page0Button4: page0Button4
    property alias page0Button3: page0Button3
    property alias page0Button2: page0Button2
    property alias page0Button1: page0Button1
    property alias page0Button0: page0Button0
    property alias pag0Label1: pag0Label1


    Button {
        id: page0Button0
        y: parent.height * 0.16
        width: parent.width * 0.3
        height: parent.height * 0.08
        text: qsTr("1 of 2 colors") //"1 из 2 цветов"
        anchors.left: parent.left
        anchors.leftMargin: parent.width * 0.14
        //autoRepeat: false
        //display: AbstractButton.TextBesideIcon

        background: Rectangle {
            implicitWidth: 90
            implicitHeight: 30
            opacity: enabled ? 1 : 0.3
            color: "#e4e4ff"
            border.color:  "black"
            border.width: 1
            radius: 4
        }
    }

    Button {
        id: page0Button3
        x: 240
        y: parent.height * 0.16
        width: parent.width * 0.3
        height: parent.height * 0.08
        text: qsTr("1 acorn of 2") 
        anchors.right: parent.right
        anchors.rightMargin: parent.width * 0.14

        background: Rectangle {
            implicitWidth: 90
            implicitHeight: 30
            opacity: enabled ? 1 : 0.3
            color: "#e4e4ff"
            border.color:  "black"
            border.width: 1
            radius: 4
        }
    }

    Button {
        id: page0Button1
        y: parent.height * 0.31
        width: parent.width * 0.3
        height: parent.height * 0.08
        text: qsTr("1 of 4 colors") 
        anchors.left: parent.left
        anchors.leftMargin: parent.width * 0.14

        background: Rectangle {
            implicitWidth: 90
            implicitHeight: 30
            opacity: enabled ? 1 : 0.3
            color: "#e4e4ff"
            border.color:  "black"
            border.width: 1
            radius: 4
        }
    }

    Button {
        id: page0Button4
        x: 240
        y: parent.height * 0.31
        width: parent.width * 0.3
        height: parent.height * 0.08
        text: qsTr("1 acorn of 4") 
        anchors.right: parent.right
        anchors.rightMargin: parent.width * 0.14

        background: Rectangle {
            implicitWidth: 90
            implicitHeight: 30
            opacity: enabled ? 1 : 0.3
            color: "#e4e4ff"
            border.color:  "black"
            border.width: 1
            radius: 4
        }
    }

    Button {
        id: page0Button2
        y: parent.height * 0.46
        width: parent.width * 0.3
        height: parent.height * 0.08
        text: qsTr("1 of 9 colors") 
        anchors.left: parent.left
        anchors.leftMargin: parent.width * 0.14

        background: Rectangle {
            implicitWidth: 90
            implicitHeight: 30
            opacity: enabled ? 1 : 0.3
            color: "#e4e4ff"
            border.color:  "black"
            border.width: 1
            radius: 4
        }
    }

    Button {
        id: page0Button5
        x: 240
        y: parent.height * 0.46
        width: parent.width * 0.3
        height: parent.height * 0.08
        text: qsTr("1 acorn of 9") 
        anchors.right: parent.right
        anchors.rightMargin: parent.width * 0.14

        background: Rectangle {
            implicitWidth: 90
            implicitHeight: 30
            opacity: enabled ? 1 : 0.3
            color: "#e4e4ff"
            border.color:  "black"
            border.width: 1
            radius: 4
        }
    }

    Button {
        id: page0Button6
        x: 150
        y: parent.height * 0.61
        width: parent.width * 0.3
        height: parent.height * 0.08
        text: qsTr("Zener cards") 
        anchors.horizontalCenter: parent.horizontalCenter

        background: Rectangle {
            implicitWidth: 90
            implicitHeight: 30
            opacity: enabled ? 1 : 0.3
            color: "#e4e4ff"
            border.color:  "black"
            border.width: 1
            radius: 4
        }
    }

    Label {
        id: pag0Label0
        y: parent.height * 0.03
        width: parent.width * 0.7
        height: parent.height * 0.08
        horizontalAlignment: Text.AlignHCenter
        text: qsTr("Psychic Training")
        anchors.horizontalCenter: parent.horizontalCenter
        font.pointSize: 18
    }

    Label {
        id: pag0Label1
        y: parent.height * 0.78
        width: parent.width * 0.7
        height: parent.height * 0.08
        horizontalAlignment: Text.AlignHCenter
        text: qsTr("Victories: ")
        anchors.horizontalCenter: parent.horizontalCenter 
        font.pointSize: 19
    }
}



/*##^## Designer {
    D{i:1;anchors_x:58}D{i:5;anchors_x:58}D{i:9;anchors_x:58}
}
 ##^##*/
2

Do you like it? Share on social networks!

4
Михаиллл
  • June 30, 2019, 3:09 p.m.

Может быть дело в этом:

    Loader
              {
                  id: loader
                  anchors.fill: parent
                  source: "Page0.qml"
              }

Может быть нужны другие переходы?

    Михаиллл
    • June 30, 2019, 6:47 p.m.

    Проблемма в

    import QtQuick.Controls.Styles 1.4
    

    Скажите пожалуйста, почему такое может быть?

      Evgenii Legotckoi
      • July 1, 2019, 12:47 p.m.
      • The answer was marked as a solution.

      Это стили для версии QtQuick.Controls 1. Они устарвешие. Уберите данный импорт и вообще не используйте первые контролы, только вторая версия. Не стоит мешать версии контролов в проекте.

        Михаиллл
        • July 1, 2019, 3:15 p.m.

        Убрал эту строчку и все заработало, спасибо.

          Comments

          Only authorized users can post comments.
          Please, Log in or Sign up
          • Last comments
          • AK
            April 24, 2025, 12:04 p.m.
            UPD: Переписал логику воспроизведения через стороннюю библиотеку BASS. Там выбрать можно
          • Evgenii Legotckoi
            April 16, 2025, 5:08 p.m.
            Благодарю за отзыв. И вам желаю всяческих успехов!
          • IscanderChe
            April 12, 2025, 5:12 p.m.
            Добрый день. Спасибо Вам за этот проект и отдельно за ответы на форуме, которые мне очень помогли в некоммерческих пет-проектах. Профессиональным программистом я так и не стал, но узнал мно…
          • AK
            April 1, 2025, 11:41 a.m.
            Добрый день. В данный момент работаю над проектом, где необходимо выводить звук из программы в определенное аудиоустройство (колонки, наушники, виртуальный кабель и т.д). Пишу на Qt5.12.12 поско…
          • Evgenii Legotckoi
            March 9, 2025, 9:02 p.m.
            К сожалению, я этого подсказать не могу, поскольку у меня нет необходимости в обходе блокировок и т.д. Поэтому я и не задавался решением этой проблемы. Ну выглядит так, что вам действитель…