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

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

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

3

Do you like it? Share on social networks!

5
R
  • July 15, 2019, 3:57 p.m.
  • (edited)

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

                    visible: {
                        if(managerPageCpp.visiblePageType === 13)
                        {
                            return true
                        }
                        else
                        {
                            return false
                        }
                    }
    Михаиллл
    • July 15, 2019, 5:29 p.m.

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

            Rectangle {
                id: rectangle1
                //if (mainElement.height > mainElement.width) {height: mainElement.height * 0.15}
                if(1>2){}
                height: 100
                color: "#ffffff"
    
      Михаиллл
      • July 15, 2019, 5:31 p.m.
      • The answer was marked as a solution.

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

      property int position  : 150 
      
      property int width1 :   33
      property int width2 :   44
      
      MyItem{
      width : position < 50  width1 : width2  
      }
      
        R
        • July 15, 2019, 5:36 p.m.
        • (edited)

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

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

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

          Михаиллл
          • July 15, 2019, 5:45 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.
              К сожалению, я этого подсказать не могу, поскольку у меня нет необходимости в обходе блокировок и т.д. Поэтому я и не задавался решением этой проблемы. Ну выглядит так, что вам действитель…