М
27 марта 2019 г. 19:15

Переключение между окнами QML

Добрый день.

Создал несколько страничек QML

В Page0Form.ui.qml создал кнопку и пытаюсь с помощью сигнала переключится на страничку Page1

  1. import QtQuick 2.4
  2.  
  3. Page0Form {
  4. page0Button0.onClicked: {
  5. Page1.show()
  6. }
  7. }

Но у Page1 нет таких свойств

Скажите пожалуйста, как переключиться на другую страничку? Мне нужно задать какой-то другой id?

3
Вопрос задан по статьеQML - Урок 021. Переключение между окнами в QML

Вам это нравится? Поделитесь в социальных сетях!

8
Алексей Внуков
  • 27 марта 2019 г. 19:17
  • (ред.)

Вам нужно вашу новую струницу загрузить в лоадер, тогда она отобразится

п.с. в Qt Quick Controls 2 есть много различных способов загрузить страницу, или несколько страниц обьеденив их в определенную группу. ознакомьтесь, много узнаете интересного. так же вы можете такие примеры посмотреть в Qt Creator в разделе примеры

    М
    • 27 марта 2019 г. 19:21

    Сейчас он вышлядит у меня так

    1. import QtQuick 2.9
    2. import QtQuick.Window 2.2
    3.  
    4. Window {
    5. visible: true
    6. width: 400
    7. height: 600
    8. title: qsTr("Psychic Training")
    9.  
    10. Loader
    11. {
    12. id: loader
    13. anchors.fill: parent
    14. source: "Page0.qml"
    15. }
    16. }
    17.  

    Скажите пожалуйста как дописать, что бы при этом стартовой страницей оставалась Page0

      Алексей Внуков
      • 27 марта 2019 г. 19:28
      • Ответ был помечен как решение.

      у лоадера есть функция загрузки новой страницы

      1. onClicked:
      2. {
      3. loader.source = "Page.qml"
      4. }

      только решите вопрос видимости обьектов

        М
        • 27 марта 2019 г. 19:34

        Спасибо, так работает

          Михаиллл
          • 27 марта 2019 г. 19:44

          На второй странице сделал также

          1. import QtQuick 2.4
          2.  
          3. Page1Form {
          4. page1ButtonMenu.onClicked: {
          5. loader.source = "Page0.qml"
          6. }
          7. }
          8.  

          но на страницу Page0 не переходит

            Алексей Внуков
            • 27 марта 2019 г. 19:55

            а лоадер между страницами виден?
            как писал выше, нужно учитывать области видимости

              Михаиллл
              • 27 марта 2019 г. 20:02

              не знаю. как это учитывать?
              добавил еще несколько страниц и магическим образом заработало

                Михаиллл
                • 27 марта 2019 г. 21:43

                оказалось, это баг
                нужно хапускать qmake и только тогда работает

                  Комментарии

                  Только авторизованные пользователи могут публиковать комментарии.
                  Пожалуйста, авторизуйтесь или зарегистрируйтесь
                  • Последние комментарии
                  • IscanderChe
                    12 апреля 2025 г. 17:12
                    Добрый день. Спасибо Вам за этот проект и отдельно за ответы на форуме, которые мне очень помогли в некоммерческих пет-проектах. Профессиональным программистом я так и не стал, но узнал мно…
                  • AK
                    1 апреля 2025 г. 11:41
                    Добрый день. В данный момент работаю над проектом, где необходимо выводить звук из программы в определенное аудиоустройство (колонки, наушники, виртуальный кабель и т.д). Пишу на Qt5.12.12 поско…
                  • Evgenii Legotckoi
                    9 марта 2025 г. 21:02
                    К сожалению, я этого подсказать не могу, поскольку у меня нет необходимости в обходе блокировок и т.д. Поэтому я и не задавался решением этой проблемы. Ну выглядит так, что вам действитель…
                  • VP
                    9 марта 2025 г. 16:14
                    Здравствуйте! Я устанавливал Qt6 из исходников а также Qt Creator по отдельности. Все компоненты, связанные с разработкой для Android, установлены. Кроме одного... Когда пытаюсь скомпилиров…
                  • ИМ
                    22 ноября 2024 г. 21:51
                    Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…