Михаиллл
Михаиллл15 июля 2019 г. 5:44

Как в QML делать адаптивную верстку для 2 положений экрана.

Добрый день.
Если бы можно было использовать if() в файле ui.qml, то тогда можно было-бы задвать ширину для каждого положения, но ui.qml не получается использовать if().
Скажите пожалуйста, как в QML делать адаптивную верстку для 2 положений экрана?

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

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

5
R
  • 15 июля 2019 г. 5:57
  • (ред.)

QML підтримує if() все залежить де його вставляти.
на QML досить легко робити адаптивні дизайни
наприклад так, все працює

                    visible: {
                        if(managerPageCpp.visiblePageType === 13)
                        {
                            return true
                        }
                        else
                        {
                            return false
                        }
                    }
    Михаиллл
    • 15 июля 2019 г. 7:29

    Странно.
    Я пробую сделать так, но получаю ошибку. Скажите пожалуйста, как и где можно применять if?

            Rectangle {
                id: rectangle1
                //if (mainElement.height > mainElement.width) {height: mainElement.height * 0.15}
                if(1>2){}
                height: 100
                color: "#ffffff"
    
      Михаиллл
      • 15 июля 2019 г. 7:31
      • Ответ был помечен как решение.

      Говорят такая запись работает, используя оператор conditionnal

      property int position  : 150 
      
      property int width1 :   33
      property int width2 :   44
      
      MyItem{
      width : position < 50  width1 : width2  
      }
      
        R
        • 15 июля 2019 г. 7:36
        • (ред.)

        так не можна писати if от ввашому випадку я так розумію ви перераховуєте висоту то пишине

                onHeightChanged: { //викликається при змінні висоти елемента
                    if (mainElement.height > mainElement.width) 
                    {
                        height: mainElement.height * 0.15
                    }
                }
        

        в самумо типу не можна писати if, навіт по логіці це зрозуміло.
        от в пропертях можна типу height, color і так далі в середині можна

          Михаиллл
          • 15 июля 2019 г. 7:45

          Ясно, спасибо

            Комментарии

            Только авторизованные пользователи могут публиковать комментарии.
            Пожалуйста, авторизуйтесь или зарегистрируйтесь
            г
            • ги
            • 23 апреля 2024 г. 22:51

            C++ - Тест 005. Структуры и Классы

            • Результат:41баллов,
            • Очки рейтинга-8
            l
            • laei
            • 23 апреля 2024 г. 16:19

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

            • Результат:10баллов,
            • Очки рейтинга-10
            l
            • laei
            • 23 апреля 2024 г. 16:17

            C++ - Тест 003. Условия и циклы

            • Результат:50баллов,
            • Очки рейтинга-4
            Последние комментарии
            k
            kmssr9 февраля 2024 г. 2:43
            Qt Linux - Урок 001. Автозапуск Qt приложения под Linux как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
            АК
            Анатолий Кононенко5 февраля 2024 г. 9:50
            Qt WinAPI - Урок 007. Работаем с ICMP Ping в Qt Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
            EVA
            EVA25 декабря 2023 г. 18:30
            Boost - статическая линковка в CMake проекте под Windows Ошибка LNK1104 часто возникает, когда компоновщик не может найти или открыть файл библиотеки. В вашем случае, это файл libboost_locale-vc142-mt-gd-x64-1_74.lib из библиотеки Boost для C+…
            J
            JonnyJo25 декабря 2023 г. 16:38
            Boost - статическая линковка в CMake проекте под Windows Сделал всё по-как у вас, но выдаёт ошибку [build] LINK : fatal error LNK1104: не удается открыть файл "libboost_locale-vc142-mt-gd-x64-1_74.lib" Хоть убей, не могу понять в чём дел…
            G
            Gvozdik19 декабря 2023 г. 5:01
            Qt/C++ - Урок 056. Подключение библиотеки Boost в Qt для компиляторов MinGW и MSVC Для решения твой проблемы добавь в файл .pro строчку "LIBS += -lws2_32" она решит проблему , лично мне помогло.
            Сейчас обсуждают на форуме
            G
            Gar22 апреля 2024 г. 12:46
            Clipboard Как скопировать окно целиком в clipb?
            DA
            Dr Gangil Academics20 апреля 2024 г. 14:45
            Unlock Your Aesthetic Potential: Explore MSC in Facial Aesthetics and Cosmetology in India Embark on a transformative journey with an msc in facial aesthetics and cosmetology in india . Delve into the intricate world of beauty and rejuvenation, guided by expert faculty and …
            a
            a_vlasov14 апреля 2024 г. 13:41
            Мобильное приложение на C++Qt и бэкенд к нему на Django Rest Framework Евгений, добрый день! Такой вопрос. Верно ли следующее утверждение: Любое Android-приложение, написанное на Java/Kotlin чисто теоретически (пусть и с большими трудностями) можно написать и на C+…
            Павел Дорофеев
            Павел Дорофеев14 апреля 2024 г. 9:35
            QTableWidget с 2 заголовками Вот тут есть кастомный QTableView с многорядностью проект поддерживается, обращайтесь
            f
            fastrex4 апреля 2024 г. 11:47
            Вернуть старое поведение QComboBox, не менять индекс при resetModel Добрый день! У нас много проектов в которых используется QComboBox, в версии 5.5.1, когда модель испускает сигнал resetModel, currentIndex не менялся. В версии 5.15 при resetModel происходит try…

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