© EVILEG 2015-2018
Рекомендует хостинг
TIMEWEB

А вы готовы к 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.

Комментарии

24 ноября 2017 г. 9:05

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

Комментарии

Только авторизованные пользователи могут оставлять комментарии.
Пожалуйста, Авторизуйтесь или Зарегистрируйтесь
15 июля 2018 г. 20:20
igorpodoba

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

  • Результат 92баллов,
  • Очки рейтинга8
15 июля 2018 г. 20:17
igorpodoba

C++ - Тест 002. Константы

  • Результат 91баллов,
  • Очки рейтинга8
14 июля 2018 г. 7:47
igorpodoba

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

  • Результат 71баллов,
  • Очки рейтинга1
Последние комментарии
14 июля 2018 г. 18:49
Евгений Легоцкой

Qt/C++ - Урок 049. QTranslator - динамический перевод мультиязычного приложения на Qt

У меня на руках есть один проект, где какие-то потуги с переводами и подключением этого добра в CMAKE делались.Но там файл перевода добавляется прямо в ресурсы проекта. То есть бинарных qm файл...
14 июля 2018 г. 18:35
Евгений Легоцкой

Django - Урок 036. Как добавить аутентификацию через социальные сети. ВКонтакте

Не, не будет, в данной батарейке уже есть необходимый функционал по разрулированию этой проблемы. Аутентификации из разных социальных сетей будут сливаться на один аккаунт. Так что всё нормаль...
14 июля 2018 г. 4:17
Gerych

Django - Урок 036. Как добавить аутентификацию через социальные сети. ВКонтакте

Мне интересно что будет если в обеих сетях в авторизации одинаковый еmail. Не выведет ли ошибку ?
13 июля 2018 г. 11:55
Arrow

Qt/C++ - Урок 049. QTranslator - динамический перевод мультиязычного приложения на Qt

Хорошая статья. Только один вопрос как это сделать для CMake? Интересует именно запись в CMakeList TRANSLATIONS += QtLanguage_ru.ts CODECFORSRC = UTF-8 П...
Сейчас обсуждают на форуме
14 июля 2018 г. 18:56
Евгений Легоцкой

Как сделать пустое поле в QDateEdit

Слишком много возни, чтобы подробно объяснить, что нужно сделать.... тем более, что у вас ещё зависимость на базу данных... Для начала нужно наследоваться от QCalendarWidget, посколь...
12 июля 2018 г. 15:02
незнаток

Перенос значений таблицы в другую таблицу

void Opisanie::perevod(){ QString mil; int mf = ui->table1->rowCount(); for(int ik = 0; ik < mf; ik++) { QString tu = ui->table1->model()->data(ui...
12 июля 2018 г. 7:46
Евгений Легоцкой

OpenSSL на Windows10

Совсем забыл. Вот в этом посте есть ссылка на скачивание openssl библиотек для msvc-2015
11 июля 2018 г. 16:05
Ruslan Polupan

Наследование от QLineEdit

Из опыта разработки в нашей конторе (для программирование хобби я техподдержка): Если есть возможность переложить логику приложения на базу данных то это лутший вариант. Т.е. использовать по м...

Рекомендуемые страницы