Вам бонус- начислено 1 монета за дневную активность. Сейчас у вас 1 монета

Управление проектами. Создание проекта Qt

Лекция



Привет, сегодня поговорим про управление проектами создание проекта qt, обещаю рассказать все что знаю. Для того чтобы лучше понимать что такое управление проектами создание проекта qt , настоятельно рекомендую прочитать все из категории Кросс-платформенное программирование.

Для создания и импорта некоторых типов проектов и файлов, таких как GUI или консольное приложение Qt, вы используете мастеров. Вы также можете использовать мастеров для добавления отдельных файлов в ваши проекты. Например, вы можете создать следующие типы файлов:

  • Файл ресурсов Qt, который позволит вам хранить бинарные файлы в исполняемом файле приложения
  • Формы Qt Designer и файлы Qt QML, которые описывают части интерфейса пользователя приложения
  • Класс C++, файл исходных текстов или заголовочный файл

Мастера запросят у вас необходимые для конкретного проекта настройки и создадут для вас необходимые файлы. Для отображения других типов файлов в панели Проекты, укажите их в файле проекта.

Использование мастера проектов

Для создания нового проекта:

  1. Выберите Файл > Новый файл или проект... и выберите тип вашего проекта.
    Содержимое диалогов будет зависеть от типа проекта. Следуйте инструкциям мастера. Этот пример использует GUI приложение Qt .
  2. Назовите проект и выберите его путь. Чтобы выбрать путь из дерева каталогов, нажмите Обзор...

    Избегайте использование пробелов и специальных символов в имени проекта и пути.

  3.  Укажите имя класса, который вы хотите создать, и, используя раскрывающееся меню, выберите тип базового класса.
    Заметьте, что поля Заголовочный файлИсходный файл и Файл формы будут обновлены автоматически в соответствии с выбранным вами именем класса.
  4. Проверьте настройки проекта.
    Чтобы создать проект, нажмите Завершить.

Отображение дополнительных типов файлов в панели проектов

Qt Creator определяет необходимость отображения файлов из каталога проекта в панели Проекты в зависимости от типа файла (.pro, .pri, .cpp, .h, .ui, .qrc и так далее). Для отображения других типов файлов, измените файл проекта. Добавьте имена файлов в качестве значения переменной OTHER_FILES. Вы так же можете использовать подстановочные символы.

Например, следующий код указывает, что текстовые файлы должны отображаться в панели Проекты:

 OTHER_FILES += *.txt

Это также обеспечивает доступность этих файлов в Поисковике.

Добавление новых мастеров проектов

Если у вас командная работа над большим приложением или несколькими приложениями, вы возможно захотите стандартизировать способ создания проектов и классов членами команды.

Вы можете использовать шаблон мастера из каталога share/qtcreator/templates/wizards для создания ваших собственных мастеров проекта и класса. Qt Creator просматривает этот каталог и добавляет все мастера, определенные в файле wizard.xml, в диалог Новый, который открывается когда вы выбираете Файл > Новый файл или проект.

В мастере проекта вы можете указать необходимые проекту файлы. Вы можете добавить страницы мастера чтобы позволить разработчикам указать настройки проекта.

В мастере класса вы можете позволить разработчикам указывать имя класса, базовый класс и заголовочные файлы и файлы исходных текстов для класса.

Чтобы увидеть как это работает, переименуйте wizard_example.xml в wizard.xml в каталогах helloworld и listmodels. После того как вы перезапустите Qt Creator, в диалоге Новый появятся категории Собственные классы и Собственные проекты.

Создание мастеров проектов

Для создания мастера проекта:

  1. Сделайте копию каталога
    share/qtcreator/templates/wizards/helloworld
    или
    share/qtcreator/templates/wizards/listmodel
  2. Измените файл wizard_example.xml
  3. Следующий код определяет тип мастера и размещает его в диалоге Новый:
    <wizard version="1" kind="project"
    class="qt4project" firstpage="10"
    id="A.HelloWorld" category="B.CustomProjects">
    • version это версия содержимого файла. Об этом говорит сайт https://intellect.icu . Не изменяйте это значение.
    • kind указывает тип проекта: project или class.
    • class указывает тип проекта. В настоящее время доступен только тип qt4project, который описывает консольное приложение Qt.
    • firstpage указывает место новой страницы в стандартном мастере проекта. Значение 10 обеспечивает что созданная страница появится после стандартных страниц в качестве последней страницы мастера.
    • id это уникальный идентификатор вашего мастера. Буква указывает положение мастера в категории. Мастер HelloWorld появится как первый мастер во второй категории диалога Новый.
    • category это категория в списке которой будет размещен мастер. Буква указывает положение в списке категории в диалогеНовый.
  4. Следующий код определяет иконку и текст, которые появятся в диалоге Новый:<icon>console.png</icon>
    <description>Creates a hello-world-project with custom message.</description>
    <description xml:lang="de">Erzeugt ein Hello-Welt-Projekt mit einer Nachricht.</description>
    <displayname>Hello World</displayname>;
    <displayname xml:lang="de">Hallo Welt</displayname>;
    <displaycategory>Custom Projects</displaycategory>

    <displaycategory xml:lang="de">Benutzerdefinierte Projekte</displaycategory>

    • icon появится рядом с displayName.
    • description появляется внизу диалога Новый при выделении имени проекта.
    • displayName появляется в диалоге Новый под displayCategory.
      Для текстовых элементов вы можете добавить переводы . Укажите целевой язык в качестве атрибута элемента. Используйте имена локалей (QLocale). Например, xml:lang="de".
  5. Следующий код описывает добавляемые в проект файлы:
    <files>
         <file source="main.cpp" openeditor="true" />
         <file source="project.pro" target="%ProjectName%.pro" openproject="true" />
    • source указывает файл для копирования в проект. Файлы должны быть расположены в каталоге мастера.
    • target описывает новое имя файла. Переменная %ProjectName% заменятся строкой, которую вводит пользователь в поле Имяна первой странице мастера.
    • openproject указывает что файл является файлом проекта и должен быть открыт после завершения работы мастера.
    • openeditor указывает что файл должен быть открыт в редакторе после завершения работы мастера.
  6. Следующий код создает страницу которая уточняет настройки проекта:
    <!-- Create a 2nd wizard page with parameters -->
    <fieldpagetitle>Hello World Parameters</fieldpagetitle>
    <fieldpagetitle xml:lang="de">Hallo Welt Parameter</fieldpagetitle>
    <fields>
        <field mandatory="true" name="MESSAGE">
            <fieldcontrol class="QLineEdit" validator='^[^"]+$'  defaulttext="Hello world!" />
            <fielddescription>Hello world message:</fielddescription>
            <fielddescription xml:lang="de">Hallo-Welt-Nachricht:</fielddescription>
        </field>
    </fields>
    • fieldpagetitle указывает заголовок страницы.
    • field указывает является ли поле обязательным (true или false). Вы можете использовать значение поля name в качестве переменной в других файлах (например, %MESSAGE%).
    • fieldcontrol указывает поле. class указывает тип поля. Для создания полей вы можете использовать наследников классаQWidget. Этот пример использует QLineEdit для создания поля ввода.
    • validator указывает регулярное выражение для проверки допустимых символов в поле.
    • defaulttext указывает текст который появится в поле по умолчанию.
    • fielddescription указывает имя поля которое появится на странице мастера.

Создание мастеров классов

Файл widget.xml для мастера класса очень похож на файл для мастера проекта. Отличия описаны ниже.

Для создания мастера класса:

  1. Следующий фрагмент кода описывает настройки мастера:
    <wizard version="1" kind="class" id="A.ListModel" category="B.CustomClasses">

    <description>Creates a QAbstractListModel implementation.</description>

    <description xml:lang="de">Erzeugt eine Implementierung von QAbstractListModel.</description>

    <displayname>QAbstractListModel implementation</displayname>

    <displayname xml:lang="de">Implementierung von QAbstractListModel</displayname>

    <displaycategory>Custom Classes</displaycategory>

    <displaycategory xml:lang="de">Benutzerdefinierte Klassen</displaycategory>

    Для получения дополнительной информации о элементах и их значения смотрите Создание мастеров проектов.

  2. Следующий код описывает добавляемые в проект файлы:
    <files>

        <file source="listmodel.cpp" target="%ClassName:l%.%CppSourceSuffix%"  openeditor="true" />

        <file source="listmodel.h" target="%ClassName:l%.%CppHeaderSuffix%"  openeditor="true" />

    </files>

    Здесь target содержит следующие переменные, которые используются для генерации имени файла:

    • %ClassName:l% заменяется значением поля ClassName. Модификатор l переводит строку в нижний регистр для соблюдения соглашений Qt.
    • %CppSourceSuffix% заменяется суффиксом файлов исходных кодов по умолчанию, который определяется в Qt Creator вИнструменты > Параметры... > C++ > Именование файлов. Например, если пользователь вводи MyClass, при создании проекта имя файла станет myclass.cpp.
    • %CppHeaderSuffix% заменяется суффиксом заголовочных файлов по умолчанию, который также определяется в вИменование файлов. В данном случае имя файла будет myclass.h.
  3. Следующий код создает страницу, которая позволит пользователям выбирать имя класса, базового класса и заголовочного файла и файла исходных кодов для класса:
    <!-- Create parameter wizard page -->

        <fieldpagetitle>ListModel parameters</fieldpagetitle>

        <fieldpagetitle xml:lang="de">Parameter des ListModel</fieldpagetitle>

        <fields>

             <field name="ClassName">

                <fieldcontrol class="QLineEdit" validator="^[a-zA-Z0-9_]+$" defaulttext="MyListModel" />

                <fielddescription>Class name:</fielddescription>

                <fielddescription xml:lang="de">Klassenname:</fielddescription>

            </field>

            <field name="Datatype">

                <fieldcontrol class="QComboBox" combochoices="QString,int" defaultindex="0" />

                <fielddescription>Data type:</fielddescription>

                <fielddescription xml:lang="de">Datentyp:</fielddescription>

            </field>

        </fields>

    В дополнение к QLineEdit, в мастере класса для создания поля был использован QComboBox. combochoices определяет опции в выпадающем списке, а defaultindex указывает какой элемент QString является значением по умолчанию.

В общем, мой друг ты одолел чтение этой статьи об управление проектами создание проекта qt. Работы впереди у тебя будет много. Смело пиши комментарии, развивайся и счастье окажется в твоих руках. Надеюсь, что теперь ты понял что такое управление проектами создание проекта qt и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Кросс-платформенное программирование

создано: 2016-01-17
обновлено: 2021-03-13
132400



Рейтиг 9 of 10. count vote: 2
Вы довольны ?:


Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей



Комментарии


Оставить комментарий
Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Кросс-платформенное программирование

Термины: Кросс-платформенное программирование