Qt Quick Tools и утилиты
Qt предлагает несколько инструментов и утилит для улучшения опыта разработчика, особенно для разработчиков Qt Quick. Следующие разделы содержат краткое введение в эти инструменты и утилиты, а также ссылки на дополнительную информацию о них.
Qt Quick Designer
Qt Quick Designer позволяет проектировать пользовательские интерфейсы (UI) на основе Qt Quick с помощью простых жестов перетаскивания, с которыми знакомы большинство дизайнеров. Он предлагает элементы пользовательского интерфейса (UI) из модулей Qt Quick и Qt Quick Controls, а также интеграцию для пользовательских элементов UI.
Ниже приведен список примеров приложений, которые используют UI, созданные с помощью Qt Quick Designer:
Отладчик и профайлер QML
Будучи декларативным языком, фрагмент кода QML предоставляет минимальные сведения о заданных сущностях. В такой ситуации отладчик QML является очень полезной утилитой, которая позволяет:
- отладку функций JavaScript;
- выполнение выражений JavaScript;
- и инспектирование свойств QML.
Помимо этого, профайлер QML позволяет получить необходимую диагностическую информацию, позволяющую анализировать код приложения на предмет производительности. Например, слишком много JavaScript в каждом кадре, длительно выполняющиеся функции C++, и так далее.
Связанная информация
QmlLive, GammaRay и Squish
QmlLive — инструмент сторонних разработчиков, предоставляющий среду выполнения QML, способную отображать изменения в коде в реальном времени. Это позволяет избежать необходимости перестроения приложения после каждого изменения кода и его установки на целевое устройство. Вы также можете расширить его, чтобы создать собственную среду выполнения, соответствующую вашим потребностям.
GammaRay — полезная утилита, предоставляющая диагностическую информацию о вашем приложении. Она похожа на профайлер QML, описанный в предыдущем разделе, но предлагает гораздо больше. Например, количество созданных элементов или объектов QObject, выполненные вызовы функций, время выполнения каждого вызова функции, интроспекция значений свойств во время выполнения и так далее. Такая информация очень полезна, особенно при отладке приложений QML.
Squish — известный инструмент тестирования, который автоматизирует тестирование пользовательского интерфейса (UI), записывая ваши действия или выполняя скрипты. После настройки тестов тестирование UI намного проще выполнять.
Связанная информация
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.0/qtquick-tools-and-utilities.html