Заменить систему Docking Widgets в классе главного окна (QT)
20 000 руб. за проект
Необходимо заменить систему Docking Widgets в классе главного окна на аналогичную из сторонней библиотеки.
В наличии приложение на Qt6 с “классическим” главным окном, в котором виджеты из разных модулей приложения отображаются в нескольких плавающих областях экрана (Docking Widgets). На данном этапе система перетаскивания панелей отключена из-за необходимости модернизации кода.
В качестве целевой системы для подобного окна необходимо использовать библиотеку
https://github.com/githubuser0xFFFF/Qt-Advanced-Docking-System
В исходном коде есть примеры и демо приложения. По ссылке можно найти много примеров использования библиотеки в реальных проектах.
Задачи:
1. Внедрить новую систему, которая позволит существующим плагинам отображать виджеты в гланом окне приложения.
2. Разобраться с системой сохранения\загрузки состояния панелей, понять каким образом может быть сохранено внутренне состояние каждой из дочерних панелей. При старте приложения и восстановлении панелей, приложение должно создавать виджеты, существовавшие до закрытия и передавать в них сохранённое состояние.
К примеру, восстановление состояния панелей может выглядеть как:
QWidget *w = pluginSystem()->createWidget(QString name, QJsonDocument state);
mainWindow->insertWidget(w);
3. Задокументировать работу.
4. Оформить код в одном стиле в соответствии с существующим кодом.
Используемые инструменты:
1. CMake
2. С++17
3. Qt 6
4. Git
5. Платформы: Windows и Linux.
В наличии приложение на Qt6 с “классическим” главным окном, в котором виджеты из разных модулей приложения отображаются в нескольких плавающих областях экрана (Docking Widgets). На данном этапе система перетаскивания панелей отключена из-за необходимости модернизации кода.
В качестве целевой системы для подобного окна необходимо использовать библиотеку
https://github.com/githubuser0xFFFF/Qt-Advanced-Docking-System
В исходном коде есть примеры и демо приложения. По ссылке можно найти много примеров использования библиотеки в реальных проектах.
Задачи:
1. Внедрить новую систему, которая позволит существующим плагинам отображать виджеты в гланом окне приложения.
2. Разобраться с системой сохранения\загрузки состояния панелей, понять каким образом может быть сохранено внутренне состояние каждой из дочерних панелей. При старте приложения и восстановлении панелей, приложение должно создавать виджеты, существовавшие до закрытия и передавать в них сохранённое состояние.
К примеру, восстановление состояния панелей может выглядеть как:
QWidget *w = pluginSystem()->createWidget(QString name, QJsonDocument state);
mainWindow->insertWidget(w);
3. Задокументировать работу.
4. Оформить код в одном стиле в соответствии с существующим кодом.
Используемые инструменты:
1. CMake
2. С++17
3. Qt 6
4. Git
5. Платформы: Windows и Linux.
Отзывы
В заказе есть исполнитель
При переводе заказа из архивного в актуальный, текущий исполнитель будет снят с задачи.
Выберите тип сделки
С безопасной сделкой вы всегда сможете вернуть средства, если что-то пойдет не так. С простой сделкой вы самостоятельно договариваетесь с исполнителем об оплате и берете на себя решение конфликтов.
В итоге задача была успешно выполнена. Все отлично, очень надеюсь, что в таком объемном проекте все участники получили важный опыт.
Михаилу большое спасибо за качественно выполненную работу. Надеюсь, еще поработаем на других проектах.
С уважением, Алексей.