Михаиллл
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 досить легко робити адаптивні дизайни
наприклад так, все працює

  1. visible: {
  2. if(managerPageCpp.visiblePageType === 13)
  3. {
  4. return true
  5. }
  6. else
  7. {
  8. return false
  9. }
  10. }
    Михаиллл
    • July 15, 2019, 5:29 p.m.

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

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

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

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

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

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

        в самумо типу не можна писати 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 1, 2025, 11:41 a.m.
              Добрый день. В данный момент работаю над проектом, где необходимо выводить звук из программы в определенное аудиоустройство (колонки, наушники, виртуальный кабель и т.д). Пишу на Qt5.12.12 поско…
            • Evgenii Legotckoi
              March 9, 2025, 9:02 p.m.
              К сожалению, я этого подсказать не могу, поскольку у меня нет необходимости в обходе блокировок и т.д. Поэтому я и не задавался решением этой проблемы. Ну выглядит так, что вам действитель…
            • VP
              March 9, 2025, 4:14 p.m.
              Здравствуйте! Я устанавливал Qt6 из исходников а также Qt Creator по отдельности. Все компоненты, связанные с разработкой для Android, установлены. Кроме одного... Когда пытаюсь скомпилиров…
            • ИМ
              Nov. 22, 2024, 9:51 p.m.
              Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
            • Evgenii Legotckoi
              Oct. 31, 2024, 11:37 p.m.
              Добрый день. Да, можно. Либо через такие же плагины, либо с постобработкой через python библиотеку Beautiful Soup