В Qt-блог В грядущей версии 5.1 есть обзор предстоящих нововведений в Qt Quuck. Короче говоря, они добавили функционал виджетов, аналог QMainWindow, и дали возможность использовать QML в проектах виджетов, пусть и в несколько урезанном варианте.
Таким образом, Qt Quick готов к разработке приложений на настольных компьютерах.
Нам дали практически все, что мы привыкли видеть в виджетах.
Первыми и, пожалуй, самыми важными являются линкеры:
в чем именно проблема?: В виджетах макетировщики являются удобным инструментом для изменения размера отображаемого окна.
До версии Qt 5.1 аналогичный функционал можно было реализовать и в QML, но теперь это стало проще.
Например, код из этот статьи: До:
После:ToolBar { Row { id: row spacing: 2 anchors.verticalCenter: parent.verticalCenter ToolButton { iconSource: "images/go-previous.png" } ToolButton { iconSource: "images/go-next.png" } } Slider { anchors.left: row.right anchors.leftMargin: 2 anchors.verticalCenter: parent.verticalCenter anchors.right: parent.right } }
ToolBar {
RowLayout {
anchors.fill: parent
spacing: 2
ToolButton { iconSource: "images/go-previous.png" }
ToolButton { iconSource: "images/go-next.png" }
Slider { Layout.fillWidth: true }
}
}
Добавлено несколько классов представления (или что бы то ни было): SplitView, ScrollView и TableView.
Последний аналог QTableView и это классическое табличное представление, ScrollView — это своего рода аналог QAbstractScrollArea, SplitView — аналог QSplitter. Добавлено классическое управление:
И дали нам возможность гнуться так, как нам заблагорассудится, так же, как и Видам.
И вот как нам предлагают все это использовать: GroupBox {
id: gridBox
title: "Grid layout"
Layout.fillWidth: true
GridLayout {
id: gridLayout
anchors.fill: parent
rows: 3
flow: GridLayout.TopToBottom
Label { text: "Line 1" }
Label { text: "Line 2" }
Label { text: "Line 3" }
TextField { }
TextField { }
TextField { }
TextArea {
text: "This widget spans over three rows in the GridLayout.\n"
+ "All items in the GridLayout are implicitly positioned from top to bottom."
Layout.rowSpan: 3
Layout.fillHeight: true
Layout.fillWidth: true
}
}
}
Ну, по крайней мере, он не усложнился, а вкупе с оригинальными возможностями qml оставаться верным виджетам смысла не вижу
Ссылки
- Обзор новых возможностей Qt Quick
- Обзор быстрых элементов управления Qt
- Знакомство с быстрыми макетами Qt
-
Размытые Обязанности Или «Ожидание Прибытия»
19 Oct, 24 -
Оптимальные Решения Для Видеоконференций
19 Oct, 24 -
Kubernetes Ingress Глазами Новичка
19 Oct, 24 -
Взлет И Падение Водопада
19 Oct, 24 -
Экстремальная Оптимизация
19 Oct, 24