Инструменты и утилиты Qt Quick
Qt предлагает несколько инструментов и утилит, обеспечивающих богатый опыт разработки, особенно для разработчиков Qt Quick. В следующих разделах представлено краткое введение в эти инструменты и утилиты, а также ссылки на дополнительную информацию о них.
Qt Quick Designer
Qt Quick Designer позволяет проектировать пользовательские интерфейсы Qt Quick, используя простые жесты перетаскивания, знакомые большинству дизайнеров. Он предлагает элементы пользовательского интерфейса из модулей Qt Quick и Qt Quick Controls, а также интеграцию для пользовательских элементов пользовательского интерфейса.
Ниже приведен список примеров приложений, которые используют пользовательские интерфейсы, созданные с помощью Qt Quick Designer:
Отладчик и профайлер QML
Будучи декларативным языком, фрагмент кода QML предоставляет минимальную информацию об определённых сущностях. В такой ситуации отладчик QML является очень полезной утилитой, которая позволяет:
- отлаживать функции JavaScript;
- выполнять выражения JavaScript;
- и проверять свойства QML.
Помимо этого, профайлер QML позволяет получить необходимую диагностическую информацию, позволяющую анализировать код приложения на предмет производительности. Например, слишком много JavaScript в каждом кадре, длительные функции C++, и так далее.
Связанная информация
QmlLive, GammaRay и Squish
QmlLive — инструмент сторонних разработчиков, который предлагает исполняемую среду QML, способную отображать изменения в коде в режиме реального времени. Он позволяет избежать необходимости перестроения приложения после каждого изменения кода и установки его на целевое устройство. Вы также можете расширить его, чтобы создать пользовательскую среду выполнения, соответствующую вашим потребностям.
GammaRay — полезная утилита, которая предоставляет диагностическую информацию о вашем приложении. Она похожа на профайлер QML, описанный в предыдущем разделе, но предоставляет гораздо больше информации. Например, количество созданных элементов или объектов QObject, выполненные вызовы функций, время, затраченное на каждый вызов функции, интроспекция значений свойств во время выполнения и так далее. Такая информация очень полезна, особенно при отладке приложений QML.
Squish — известный инструмент тестирования, который автоматизирует тестирование пользовательского интерфейса, записывая ваши действия или выполняя скрипты. После настройки тестов тесты пользовательского интерфейса намного проще запускать.
Связанная информация
Qt Creator
IDE Qt Creator — ключевой инструмент, который улучшает общий опыт работы с Qt Quick. Его возможности автозавершения и отладки делают работу с Qt Quick более удобной. Помимо этого, большинство инструментов и утилит, упомянутых в предыдущих разделах, интегрированы в него, с возможностью интеграции сторонних инструментов, таких как QmlLive и GammaRay.
Связанная информация
qmllint
qmllint — инструмент, поставляемый с Qt, который проверяет синтаксическую корректность файлов QML. Он также предупреждает о некоторых антипаттернах QML. Если вы хотите отключить определённый тип предупреждения, вы можете найти соответствующий флаг, передав --help в командной строке.
qmllint предупреждает о
- Неквалифицированных доступах к свойствам.
- Использовании обработчиков сигналов без соответствующего сигнала.
- Использовании инструкций with в QML.
Для корректной работы qmllint требуется информация о типах. Эта информация предоставляется файлами qmltypes. Файлы qmltypes в текущем каталоге, а также файлы для встроенных типов Qt, обнаруживаются автоматически. Для файлов qmltypes из библиотек, находящихся за пределами текущего каталога, вы можете указать их путь с помощью флага -I.
Связанная информация
qmlformat
qmlformat — инструмент, который автоматически форматирует файлы QML в соответствии с Конвенциями кодирования QML.
Инструмент группирует все свойства, функции и сигналы вместе, вместо сохранения указанного вами порядка.
Импорты также будут отсортированы в алфавитном порядке. Это можно отключить, указав флаг -n.
По умолчанию qmlformat записывает отформатированную версию файла в стандартный вывод. Если вы хотите обновить свой файл на месте, укажите флаг -i.
Связанная информация
См. также Конвенции кодирования QML.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.1/qtquick-tools-and-utilities.html