July 15, 2019, 4:44 a.m.

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

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

10% refund of hotel reservation amount on Booking
10% refund of hotel reservation amount on Booking
We offer a link with a 10% return on the amount of the order when booking a hotel through Booking
5
R

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

                    visible: {
                        if(managerPageCpp.visiblePageType === 13)
                        {
                            return true
                        }
                        else
                        {
                            return false
                        }
                    }

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

        Rectangle {
            id: rectangle1
            //if (mainElement.height > mainElement.width) {height: mainElement.height * 0.15}
            if(1>2){}
            height: 100
            color: "#ffffff"
  • July 15, 2019, 6:31 a.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

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

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

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

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

Comments

Only authorized users can post comments.
Please, Log in or Sign up
Looking for a Job?
14,000.00 руб. - 40,000.00 руб.
Разработчик Qt
Annino, Moscow Oblast, Russia
5,000.00 руб. - 15,000.00 руб.
Дизайнер
Moskovskiy, Moscow, Russia
25,000.00 руб. - 30,000.00 руб.
Разработчик Qt/C++
Barnaul, Altai Krai, Russia

For registered users on the site there is a minimum amount of advertising

D
Aug. 16, 2019, 11:58 a.m.
Damir

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

  • Result:92points,
  • Rating points8
D
Aug. 16, 2019, 11:46 a.m.
Damir

C++ - Test 005. Structures and Classes

  • Result:75points,
  • Rating points2
u
Aug. 14, 2019, 1:55 p.m.
unrealproro

C++ - Test 005. Structures and Classes

  • Result:83points,
  • Rating points4
Last comments
Aug. 19, 2019, 6:41 a.m.
Andrej Jankovich

это проблема дистрибутива, попробуйте установить через пакетный менеджер snap Суть проблемы: libQt5Core которая лежит в дистрибутиве требует версию glibc >= 2.25 у вас видимо …
b
Aug. 18, 2019, 5:09 a.m.
bbb116

cqtdeployer /home/aleks/CQtDeployer/bin/cqtdeployer: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.25' not found (required by /home/aleks/CQtDeployer/lib/libQt5Core.so.5) linux mint …
D
Aug. 17, 2019, 8:04 a.m.
Damir

github ChekableTView Правой групповая смена значения при перетаскивании левой как обычно.
Aug. 16, 2019, 12:03 p.m.
Evgenij Legotskoj

Потому, что в минуте 60 секунд
Aug. 16, 2019, 11:16 a.m.
Dmitrij

а почему делитель 60000, а не 1000?
Now discuss on the forum
Aug. 21, 2019, 2:16 a.m.
nayk1982

Если Вы разрабатываете какую-то универсальную утилиту, которая вообще не привязана к логике, тогда как вариант: 1. Получить список таблиц через QSqlDatabase::tables 2. Для каждой табли…
Aug. 21, 2019, 12:31 a.m.
grig_p

Спасибо большое. Я долгое время писал на Object Pascal, привык, что там любое исключение, а не только сгенерированное самостоятельно, может быть перехвачено и обработано в блоках try. Дело …
Aug. 20, 2019, 1:10 p.m.
Mihailll

Нужно будет попробовать подставть другой тип данных, может заработае validator: IntValidator {bottom: 1; top: 99999999999}
Aug. 20, 2019, 12:37 p.m.
Aleksandr Panjushkin

Добрый день. Я бы хотел добавить, что в вашем коде можно было бы использовать слово auto и цикл for с перебором. Так код получился бы компактнее: auto map = new QMap<Qstring, QString&…
EVILEG
About
Services
© EVILEG 2015-2019
Recommend hosting TIMEWEB