alex_lip
alex_lip26 марта 2018 г. 2:35

Z-index для Dialog

Есть несколько диалогов, некоторые вызываются один из другого. И иногда (очень редко) оказывается, что вызываемый диалог находится ПОД вызывающим. Z для Dialog - пишет, что нет такого атрибута. Переписывать все на Item? Но в Item нет  contentItem, который я использую внутри Dialog. Куда смотреть?

Рекомендуем хостинг TIMEWEB
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.

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

17
Evgenii Legotckoi
  • 26 марта 2018 г. 2:47

А вы какие контролы используете?

Например, в QtQuick 2 у диалогов есть z атрибут.
import QtQuick.Controls 2.3
Если посмотреть документацию, то там есть информация о том, что Dialog наследован от Popup, который имеет property z, соответственно и сам Dialog тоже должен его иметь.
    alex_lip
    • 26 марта 2018 г. 2:51

    я использовал  QtQuick.Controls 2.2

      Evgenii Legotckoi
      • 26 марта 2018 г. 3:01
      • Ответ был помечен как решение.

      Используйте версию 2.3
      И да, почему-то, когда свойства z у диалогов заданы в самого диалоге, то при одновременном открытии они почему-то не срабатывают как положено. Видимо ещё зависит от последовательности открытия диалогов.

      Во всяком случае установка значений z работает, когда диалог уже был открыт. Так что можно корректировать его положение после того, как он открылся.
      import QtQuick 2.10
      import QtQuick.Controls 2.3
      import QtQuick.Layouts 1.3
      
      ApplicationWindow {
          visible: true
          width: 640
          height: 480
          title: qsTr("Hello World")
      
      
          Button {
              anchors.left: parent.left
              anchors.top: parent.top
              text: qsTr("Dialogs")
      
              onClicked: {
      
                  dialog_1.open()
                  dialog_2.open()
                  dialog_1.z = 2
                  dialog_2.z = 100
              }
          }
      
          Dialog {
              id: dialog_1
              width: 200
              height: 150
          }
      
          Dialog {
              id: dialog_2
              width: 200
              height: 150
              background: Rectangle {
                  color: "whitesmoke"
              }
      
              x:50
              y:50
          }
      }
      
        alex_lip
        • 26 марта 2018 г. 3:05

        исправил на

        import QtQuick.Controls 2.3
        import QtQuick.Dialogs 1.3
        Ругается -
        qrc:/content/MyDoc.qml:813 ((null)): qrc:/content/MyDoc.qml:813:33 : Cannot assign to non-existent property "z"
        Где можно посмотреть какие последние версии библиотек?
          alex_lip
          • 26 марта 2018 г. 3:07

          понял - в рантайме делать

            Evgenii Legotckoi
            • 26 марта 2018 г. 3:07

            Вот это удалить - import QtQuick.Dialogs 1.3

            У вас конфликт импортов.
              Evgenii Legotckoi
              • 26 марта 2018 г. 3:09

              И в QtQuick.Dialog 1.3 есть тип Dialog и в QtQuick.Controls 2.3 тоже есть тип Dialog.

              Но QtQuick.Dialog 1.3 - это QtQuick версии 1
                alex_lip
                • 26 марта 2018 г. 3:17

                Убрал

                QtQuick.Dialogs 1.3
                Вообще все диалоги посыпались ((

                  alex_lip
                  • 26 марта 2018 г. 3:19

                  видимо сильно синтаксис поменялся. Будем править..

                    Evgenii Legotckoi
                    • 26 марта 2018 г. 3:21

                    Этого следовало ожидать... Вы написали диалоги на версии  QtQuick 1, а документацию скорее всего смотрели на QtQuick 2, поэтому Вам придётся переписать диалоги...

                    Руководствуйтесь вот этой документацией на диалог , а также посматривайте в документацию на его базовый тип Popup
                      alex_lip
                      • 26 марта 2018 г. 3:21

                      У меня кнопки рисованные(с градиентом)- а стандартные кнопки в новом диалоге можно кастомайзить?

                        Evgenii Legotckoi
                        • 26 марта 2018 г. 3:24

                        Можно просто не использовать стандартный кнопки, а прикрутить свои в Footer и вызывать соответствующие сигналы по кликам по этим кнопкам.

                          alex_lip
                          • 26 марта 2018 г. 3:39

                          а что еще устаревшего вот в этом заголовке?



                          import QtQuick 2.7
                          import QtQuick.Controls 2.3
                          //import QtQuick.Dialogs 1.3
                          import QtQuick.Controls.Styles 1.4
                          import QtQuick.Layouts 1.2
                          import QtQuick.Window 2.2
                          import Qt.labs.handlers 1.0
                            Evgenii Legotckoi
                            • 26 марта 2018 г. 3:47
                            • (ред.)

                            Вот такого подключения должно хватить

                            import QtQuick 2.10
                            import QtQuick.Controls 2.3
                            import QtQuick.Layouts 1.3
                            import Qt.labs.handlers 1.0
                            импорт стилей контролов является устаревшим. Сейчас либо через проперти кастомизация делается, либо через делегат, либо через хардкор под C++ (но это наиболее сложный вариант, хотя примеры в документации есть, если как следует зарыться в них, то можно найти)
                              alex_lip
                              • 26 марта 2018 г. 3:52

                              Спасибо!

                                Evgenii Legotckoi
                                • 26 марта 2018 г. 3:54

                                Да, забыл сказать.

                                Я удалил из вашего варианта следующий импорт
                                import QtQuick.Window 2.2
                                Но тогда Вам потребуется использовать ApplicationWindow вместо Window
                                  alex_lip
                                  • 26 марта 2018 г. 9:22

                                  Это я понял. И оставил.

                                    Комментарии

                                    Только авторизованные пользователи могут публиковать комментарии.
                                    Пожалуйста, авторизуйтесь или зарегистрируйтесь
                                    AD

                                    C++ - Тест 004. Указатели, Массивы и Циклы

                                    • Результат:50баллов,
                                    • Очки рейтинга-4
                                    m
                                    • molni99
                                    • 26 октября 2024 г. 11:37

                                    C++ - Тест 004. Указатели, Массивы и Циклы

                                    • Результат:80баллов,
                                    • Очки рейтинга4
                                    m
                                    • molni99
                                    • 26 октября 2024 г. 11:29

                                    C++ - Тест 004. Указатели, Массивы и Циклы

                                    • Результат:20баллов,
                                    • Очки рейтинга-10
                                    Последние комментарии
                                    i
                                    innorwall14 ноября 2024 г. 22:42
                                    Как Копировать Файлы в Linux If only females relatives with DZ offspring were considered these percentages were 23 order priligy online uk
                                    i
                                    innorwall14 ноября 2024 г. 20:09
                                    Qt/C++ - Урок 068. Hello World с использованием системы сборки CMAKE в CLion ditropan pristiq dosing With the Yankees leading, 4 3, Rivera jogged in from the bullpen to a standing ovation as he prepared for his final appearance in Chicago buy priligy pakistan
                                    i
                                    innorwall14 ноября 2024 г. 15:05
                                    EVILEG-CORE. Использование Google reCAPTCHA 2001; 98 29 34 priligy buy
                                    i
                                    innorwall14 ноября 2024 г. 15:00
                                    PyQt5 - Урок 007. Работаем с QML QtQuick (Сигналы и слоты) priligy 30mg Am J Obstet Gynecol 171 1488 505
                                    Сейчас обсуждают на форуме
                                    i
                                    innorwall14 ноября 2024 г. 14:39
                                    добавить qlineseries в функции priligy amazon canada 93 GREB1 protein GREB1 AB011147 6
                                    i
                                    innorwall11 ноября 2024 г. 21:55
                                    Всё ещё разбираюсь с кешем. priligy walgreens levitra dulcolax carbs The third ring was found to be made up of ultra relativistic electrons, which are also present in both the outer and inner rings
                                    9
                                    9Anonim25 октября 2024 г. 19:10
                                    Машина тьюринга // Начальное состояние 0 0, ,<,1 // Переход в состояние 1 при пустом символе 0,0,>,0 // Остаемся в состоянии 0, двигаясь вправо при встрече 0 0,1,>…
                                    ИМ
                                    Игорь Максимов3 октября 2024 г. 14:05
                                    Реализация навигации по разделам Спасибо Евгений!

                                    Следите за нами в социальных сетях