Дневники разработки → Проект Simple Tracker. Часть 8: формирование дистрибутива и итоги
Iscander Che, Simple Tracker, C++, Qt
В заключение подготовим получаемые при компиляции файлы для дистрибуции. Неважно, что проект локальный. Удобнее иметь под рукой инсталлятор, на всякий случай. С его помощью можно, например, автоматизировано очистить реестр при удалении программы с диска.
Но начнём с того, что атрибутируем …
Дневники разработки → Проект Simple Tracker. Часть 7: сервер и клиент
Simple Tracker, Qt, Iscander Che, C++
Рассмотрим теперь сервер и клиента.
С вопросами, касающимися общей организации взаимодействия клиента и сервера, можно ознакомиться в этой статье: " Пример использования QLocalServer и QLocalSocket ". Здесь я коснусь лишь моментов, непосредственно связанных с передачей информации по задаче и закрытием …
Дневники разработки → Проект Simple Tracker. Часть 6: сервер. Слоты сервера
C++, Qt, Iscander Che, Simple Tracker
Слоты, имеющие отношение непосредственно к серверу, мы рассмотрим в связке с клиентом. Пока же сосредоточимся на тех слотах, которые относятся к управлению проектами и задачами и общих слотах приложения.
Начнём с соединений. Их я вынес в отдельный метод void TrackerServer::createConnections() …
Дневники разработки → Про итераторы
Когда в четвёртый раз в одном месте написал нечто подобное:
- QStringList list;
- // наполняем list по условию, т.е. элементов там может и не оказаться
- if(!list.isEmpty())
- {
- foreach(QString str, list)
- {
- // обходим каждый найденный элемент
- }
- }
неожиданно осознал, для …
Дневники разработки → Проект Simple Tracker. Часть 5: сервер. Модель данных задач и представление
Simple Tracker, Iscander Che, C++, Qt
Рассмотрим подробно таблицу задач.
По требованиям, указанным вначале, таблица должна была выглядеть так.
На момент разработки стало понятно, что логика работы отдельно стоящего выпадающего списка становится сложной, и было принято решение реализовать его через делегата. Поэтому таблица теперь выглядит так. …
Дневники разработки → Проект Simple Tracker. Часть 4: сервер. Модели данных и GUI основного окна приложения
Iscander Che, Simple Tracker, Qt, C++
Теперь подробно рассмотрим внутреннее устройство самого трекера и его графического окружения.
Эта часть, с одной стороны, важная, поскольку модели данных служат для перехода от базы данных к использованию данных. С другой стороны, она немного скучная, в части формирования GUI.
Когда …
Дневники разработки → Проект Simple Tracker. Часть 3: сервер. База данных и её тестирование
Simple Tracker, Qt, Iscander Che, C++
Базу данных я буду реализовывать на SQLite. В базе должно быть размещено две таблицы: для проектов и для задач. Таблицы в базе данных независимы друг от друга. Все переменные для базы данных и таблиц сделаны глобальными для единообразия.
- // database.h …
Дневники разработки → Проект Simple Tracker. Часть 2: структура проекта
Iscander Che, Simple Tracker, Qt, C++
Общая структура показана ниже.
Наименование проекта я подправил. Но в заголовках статей и метках я всё равно оставлю «Simple tracker», чтобы не было путаницы.
Проект состоит из подпроектов клиентской и серверной части и подпроекта тестирования. Главный файл проекта выглядит так. …
Дневники разработки → Проект Simple Tracker. Часть 1: требования к проекту
Qt, Iscander Che, C++, Simple Tracker
Проект реализует простой трекер задач, в первую очередь, для программных проектов, хранящихся в Subversion. Рассчитываю использовать его только у себя. Если возникнет интерес у читателей данного ресурса, постараюсь доработать код до возможности более универсального использования и выложу проект на GitHub. …
Программы → Релиз утилиты развертывания С++/QML приложений CQtDeployer v1.2.3
Qt, C++, cqtdeployer, QML
После месяца разработки подготовлен релиз кроссплатформенной утилиты CQtDeployer v1.2.3 . Исходные тексты компонентов CQtDeployer поставляются под лицензиями LGPLv3.
Что нового:
- Добавлена поддержка qt.conf для сборок Windows.
qt.conf используется для переопределения путей и параметров подключаемых модулей. До этого исправления приложение, развернутое …
- Последние комментарии
- AK1 апреля 2025 г. 11:41Добрый день. В данный момент работаю над проектом, где необходимо выводить звук из программы в определенное аудиоустройство (колонки, наушники, виртуальный кабель и т.д). Пишу на Qt5.12.12 поско…
- VP9 марта 2025 г. 16:14Здравствуйте! Я устанавливал Qt6 из исходников а также Qt Creator по отдельности. Все компоненты, связанные с разработкой для Android, установлены. Кроме одного... Когда пытаюсь скомпилиров…
- ИМ22 ноября 2024 г. 21:51Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
- Сейчас обсуждают на форуме
- f15 февраля 2025 г. 13:46Подскажите, пожалуйста! Как данный класс можно дополнить, чтобы созданные объекты можно было перемещать мышкой по сцене?
- Не запускается компьютер (точнее работает блок , но сам монитор вообще жесть)В общем я ничего с интернета не скачивала в последнее время. На компе никаких левых пр…
- Вопрос решен. Узнать QModelIndex элемента на который мы перетаскиваем другой элемент, можно с помощью функции indexAt(event->position().toPoint()) представления QTreeViev вызываемой в переопр…
- Спасибо большое за помощь и простите за то что отнял время своей невнимательностью.