А вы готовы к Qt Quick Controls 2.3?

Qt5, Qt Quick Controls, Dev Loop, ui, Qt 5.10

В выпуске Qt 5.10 будут доступны Qt Quick Controls 2.3.

Новый функционал в Qt Quick Controls 2.3:

  • Новые стили
  • Меню и действия (Actions)
  • Палитры

Новые стили

Было внедрено два новых стиля: Fusion и Imagine . Fusion стиль выглядит знакомым для тех, кто использует Qt Widgets. Это реализация на основе QML с тем же дизайном.

Стиль Imagine основан на настраиваемых объектах изображения, предоставляя дизайнерам полный контроль над тем, как выглядит стиль. Стиль имеет набор свойств изображения по умолчанию, которые экспортируются из Sketch`а.

Меню и действия (actions)

Меню и действия сделали большой шаг вперёд в своём развитии. Были добавлены новые QML типы, которые называются MenuBar , Action и ActionGroup , и Menu которые поддерживают подменю. Теперь возможны вложенные меню, как на настольных платформах. Также добавлена поддержка мнемоник и кнопок.

Использование идентично предыдущему поколению Qt Quick Controls:

import QtQuick 2.10
import QtQuick.Controls 2.3
 
ApplicationWindow {
    id: window
    width: 500
    height: 400
    visible: true
 
    menuBar: MenuBar {
        Menu {
            title: qsTr("&File")
            Action { text: qsTr("&New...") }
            Action { text: qsTr("&Open...") }
            Action { text: qsTr("&Save") }
            Action { text: qsTr("Save &As...") }
            MenuSeparator { }
            Action { text: qsTr("&Quit") }
        }
        Menu {
            title: qsTr("&Edit")
            Action { text: qsTr("Cu&t") }
            Action { text: qsTr("&Copy") }
            Action { text: qsTr("&Paste") }
            MenuSeparator { }
            Menu {
                title: qsTr("&Find/Replace")
                Action { text: qsTr("Find &Next") }
                Action { text: qsTr("Find &Previous") }
                Action { text: qsTr("&Replace...") }
            }
        }
        Menu {
            title: qsTr("&Help")
            Action { text: qsTr("&About") }
        }
    }
}

Это важные шаги, в результате чего функциональность меню Qt Quick Controls 2 будет соответсвующей для традиционных меню в настольных платформах. Это позволяет начать рассмотрение следующих шагов, интегрирующих меню нативной платформы в качестве бэкэнда для меню Qt Quick Controls 2.

Палитры

Добавлена поддержка настраиваемых палитр, которые на данный момент поддерживаются темами Default, Fusion, Imagine. Остальные темы оформления получат поддержку палитр позже. На скриншоте ниже представлена палитра для темы Default.

Вопросы и ответы:

Что насчёт TableView?

- Мы добились больших успехов в новом TableView, основанном на той же структуре представления элементов Qt Quick, на которой основаны ListView и GridView. Текущая реализация уже способна управлять двумерным набором видимых элементов для текущего видового экрана. Производительность находится на одном уровне с ListView и GridView. Большое количество столбцов не убивает производительность, как в TableView на основе ListView в Qt Quick Controls 1. Следите за новостями в блоге по этому вопросу.

Когда будет исправлена ​​знаменитая проблема «Объект, разрушенный во время инкубации»?

- Мы считаем, что у нас есть необходимые ингредиенты для окончательного решения этой проблемы. Был подготовлен патч к движку QML, который позволяет отложить выполнение встроенных делегатов, чтобы: а) заменить их пользовательскими делегатами во время построения, что не вызовет проблем для асинхронной инкубации и b) производительности (в терминах от времени создания) настраиваемого элемента управления не зависит от встроенных делегатов. Как только необходимый патч к движку QML будет готов, можно будет начать использовать его в Qt Quick Controls 2.

Virtual hosting with 10 percent discount
Virtual hosting with 10 percent discount
EVILEG offers reliable hosting with a 10% discount for virtual hosting and 5% for VPS
Support the author Donate

Интересные нововведения связанных с меню и его представления.

Comments

Only authorized users can post comments.
Please, Log in or Sign up
TT
June 13, 2019, 7:01 p.m.
Taimoor Tanweer

C++ - Test 001. The first program and data types

  • Result:66points,
  • Rating points-1
TT
June 13, 2019, 6:51 p.m.
Taimoor Tanweer

C++ - Test 002. Constants

  • Result:75points,
  • Rating points2
ВМ
June 13, 2019, 12:30 p.m.
Ваня Мороз

C++ - Test 001. The first program and data types

  • Result:100points,
  • Rating points10
Last comments
i
June 17, 2019, 6:10 a.m.
ingenfly

Только по осям xAxis2, уAxis2 значения начинаются с 0. Почему-то xAxis2 и xAxis не синхронизированы по данным. Ну и QCustomPlot последний.
June 16, 2019, 8:21 p.m.
Евгений Легоцкой

Добрый день. Ну точно также добавляете ту же самую информацию на ось xAxis2, только добавляете другое форматирование customPlot->xAxis2->setDateTimeFormat("hh:mm"); если я ...
EF
June 14, 2019, 1:56 p.m.
Egor Fomin

Спасибо за ваш ответ, у меня получилось реализовать это. Тем не менее появилась другая проблема, поэтому опять надеюсь на вашу помощь. Скажем, я уже выставил точки и они соеденены. Когда я нач...
d
June 13, 2019, 2:47 p.m.
damix

Можно классу, который описывает точку, добавить сигнал, который подавать (emit), когда точка перемещается (переопределить mouseMoveEvent или mouseReleaseEvent). Так вот эти сигналы у каждой из...
i
June 13, 2019, 2:09 p.m.
ingenfly

Здравствайте! Подскажите, пожалуйста: customPlot->xAxis2->setTickLabels(true); //Здесь включается отображение данных на оси xAxis2. а можно как-то продублировать информацию cus...
Now discuss on the forum
June 20, 2019, 9:30 a.m.
IscanderChe

Вернулся к этой задачке только-только, поэтому и не ответил ничего раньше.Как переопределить mouseReleaseEvent(QMouseEvent* event) у QTableView, если QTableView задан в ui? Или задавать QTabl...
I
June 19, 2019, 1:41 p.m.
Intruder

Всем добрый день. При разборе XML файла наткнулся на тег вот такого плана: <TagName attribute1="value1" attribute2="value2" /> При попытке проверить на наличие такого элеме...
June 19, 2019, 12:55 p.m.
Михаиллл

Скажите пожалуйста, как его в таком случае перемещать и удалять?
June 18, 2019, 7:50 p.m.
Дмитрий

Большое спасибо! SDK заработал.К сожалению удалось продвинутся только на один шаг. При сборке чистого проекта NDK выдаёт следующие ошибки C:\Android\ndk-bundle/toolchains/arm-linux-andr...
June 18, 2019, 4:59 p.m.
Михаиллл

Добрый день.В этом учебнике представлен код INSTALLED_APPS = ( ... 'rest_framework', 'snippets.apps.SnippetsConfig',) На строчке 'snippets.apps.SnippetsConf...
Looking for a Job?
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

EVILEG
About
Services
Join us
© EVILEG 2015-2019
Recommend hosting TIMEWEB