Михаиллл8 апреля 2019 г. 8:05
Как в QML сделать растягивающийся интерфейс
Добрый день.
Как в QML сделать растягивающийся интерфейс?
В Qt дизайнере можно регулировать отношение виджитов на экране через соотношение сгрупированных лэйаутов на экране. Хорошо это описанно
тут
Но как это можно реализовать в QML?
Вот пример страницы, на которой тринируюсь
import QtQuick 2.4 import QtQuick.Controls 2.4 Item { id: page2element width: 400 height: 600 property alias page2Button0: page2Button0 property alias page2Button1: page2Button1 property alias page2Button2: page2Button2 property alias page2Button3: page2Button3 property alias page2ButtonMenu: page2ButtonMenu property alias page2Label1: page2Label1 property alias page2Label2: page2Label2 Button { id: page2ButtonMenu x: 150 y: 493 text: qsTr("МЕНЮ") anchors.horizontalCenter: parent.horizontalCenter font.pointSize: 18 } Label { id: page2labe0 x: 57 y: 49 width: 286 height: 33 text: qsTr("Выберете красный цвет") anchors.horizontalCenterOffset: 0 anchors.horizontalCenter: parent.horizontalCenter font.family: "Verdana" horizontalAlignment: Text.AlignHCenter font.pixelSize: 22 font.weight: Font.Thin } Label { id: page2Label1 x: 122 y: 343 width: 156 height: 56 text: qsTr("Побед: ") anchors.horizontalCenter: parent.horizontalCenter horizontalAlignment: Text.AlignHCenter font.pointSize: 20 } Label { id: page2Label2 x: 122 y: 419 width: 156 height: 56 text: qsTr("1 из 20") anchors.horizontalCenter: parent.horizontalCenter horizontalAlignment: Text.AlignHCenter font.pointSize: 20 } Row { id: row x: 29 y: 102 spacing: 50 anchors.horizontalCenter: parent.horizontalCenter Button { id: page2Button0 width: 100 height: 100 Image { id: page2image1 width: 100 height: 100 anchors.rightMargin: 0 anchors.bottomMargin: 0 anchors.fill: parent source: "qrc:/images/images/close.png" fillMode: Image.Stretch } } Button { id: page2Button1 width: 100 height: 100 Image { id: page2image2 width: 100 height: 100 anchors.rightMargin: 0 anchors.bottomMargin: 0 anchors.fill: parent source: "qrc:/images/images/close.png" fillMode: Image.Stretch } } } Row { id: row1 x: 57 y: 220 spacing: 50 anchors.horizontalCenter: parent.horizontalCenter Button { id: page2Button2 width: 100 height: 100 Image { id: page2image3 width: 100 height: 100 anchors.leftMargin: 0 anchors.topMargin: 0 anchors.rightMargin: 0 anchors.bottomMargin: 0 anchors.fill: parent source: "qrc:/images/images/close.png" fillMode: Image.Stretch } } Button { id: page2Button3 width: 100 height: 100 Image { id: page2image4 width: 100 height: 100 anchors.rightMargin: 0 anchors.bottomMargin: 0 anchors.fill: parent source: "qrc:/images/images/close.png" fillMode: Image.Stretch } } } states: [ State { name: "Page2State1" PropertyChanges { target: page2image1 source: "qrc:/images/images/red.png" } PropertyChanges { target: page2image2 source: "qrc:/images/images/black.png" } PropertyChanges { target: page2image3 source: "qrc:/images/images/black.png" } PropertyChanges { target: page2image4 source: "qrc:/images/images/black.png" } }, State { name: "Page2State2" PropertyChanges { target: page2image1 source: "qrc:/images/images/black.png" } PropertyChanges { target: page2image2 source: "qrc:/images/images/red.png" } PropertyChanges { target: page2image3 source: "qrc:/images/images/black.png" } PropertyChanges { target: page2image4 source: "qrc:/images/images/black.png" } }, State { name: "Page2State3" PropertyChanges { target: page2image1 source: "qrc:/images/images/black.png" } PropertyChanges { target: page2image2 source: "qrc:/images/images/black.png" } PropertyChanges { target: page2image3 source: "qrc:/images/images/red.png" } PropertyChanges { target: page2image4 source: "qrc:/images/images/black.png" } }, State { name: "Page2State4" PropertyChanges { target: page2image1 source: "qrc:/images/images/black.png" } PropertyChanges { target: page2image4 source: "qrc:/images/images/red.png" } PropertyChanges { target: page2image2 source: "qrc:/images/images/black.png" } PropertyChanges { target: page2image3 source: "qrc:/images/images/black.png" } }, State { name: "Page2State0" } ] }
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.Вам это нравится? Поделитесь в социальных сетях!
Комментарии
Только авторизованные пользователи могут публиковать комментарии.
Пожалуйста, авторизуйтесь или зарегистрируйтесь
Пожалуйста, авторизуйтесь или зарегистрируйтесь
AD
- Akiv Doros
- 11 ноября 2024 г. 22:58
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:50баллов,
- Очки рейтинга-4
m
- molni99
- 26 октября 2024 г. 8:37
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:80баллов,
- Очки рейтинга4
m
- molni99
- 26 октября 2024 г. 8:29
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:20баллов,
- Очки рейтинга-10
Последние комментарии
Qt/C++ - Урок 065. Соответствие ошибок HTTP ошибкам ответа сервера в QNetworkAccessManager s Midsummer Classic in Kansas City priligy online pharmacy
Qt/C++ - Урок 039. Как закрасить строку в QSqlTableModel по значению в столбце Many OPKs would advise users to start using the test strips around day 9 of your cycle, considering day 1 to be the first day of full menstrual flow buy priligy australia
Релиз утилиты развертывания С++/Qt и QML приложений CQtDeployer v1.4.0 (Binary Box) optionally substituted alkoxy, optionally substituted alkenyloxy, optionally substituted alkynyloxy, optionally substituted aryloxy, OCH, OC H, OC H, OC H, OC H, OC H, OC H, O C CH, OCH CH OH, O…
Qt/C++ - Урок 031. QCustomPlot - строим график по времени buy generic priligy We can just chat, and we will not lose too much time anyway
Qt/C++ - Урок 060. Настройка внешнего вида приложения в рантайме I didnt have an issue work colors priligy dapoxetine 60mg revia cost uk August 3, 2022 Reply
Сейчас обсуждают на форуме
t
google domain [url=https://google.com/]domain[/url] domain [http://www.example.com link title]
tonypeachey115 ноября 2024 г. 14:04
добавить qlineseries в функции priligy for sale Gently flush using an ear syringe
Всё ещё разбираюсь с кешем. 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
IscanderChe31 октября 2024 г. 22:43
Машина тьюринга // Начальное состояние 0 0, ,<,1 // Переход в состояние 1 при пустом символе 0,0,>,0 // Остаемся в состоянии 0, двигаясь вправо при встрече 0 0,1,>…
у тебя все элементы имеют точку привязки (х,у), используй соотношение елементов друг к другу
А как это сделать. Нужно узнавать ширину и высоту дисплея?
суть. я думаю поймете, а там експеременты все покажут
и ознакомьтесь с этим
Спасибо. Статью читал. К сожалению этот вариант страницы не запускается в скомпилированной программе. Но по такому принципу сделал нижиприведенный код. Но при этом не получилось достичь масштабируемости. Помогите пожалуйста решить это:
а что не понравилось в моем коде выше? там ваш код который маштабируется
Кажется я понял, нужно похоже так делать, тогда пропорции сохраняются
QML достаточно гибок, чтоб достичь желаемого разными способами, достаточно включить фантазию
Но есть ли возможности в дизайнере это сделать, без лишнего кода?
А Ваш код ошибок не выдовал, но программа просто не открывала эту страницу
учитесь делать рауками