Дневники разработки → Проект 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 …
Дневники разработки → Проект iMpos. Часть 006. Подключение к центральной базе Fierbird. Диалог настройки подключения к ЦБ.
QDialog, FireBird, QSettings, QIBASE, Qt
Диалог настроек подключения к ЦБ
Хранить настройки подключения будем с использованием QSettings в текстовом файле, т.е. используя QSettings::IniFormat. В класс DataBases добавим метод bool connectCenralDB() в котором и реализуем подключение.
Если попытка подключения не удачна вызываем диалог настроек подключения ConnectionSettingDialog …
Qt → Пример использования QLocalServer и QLocalSocket
В статье описывается использование QLocalServer и QLocalSocket. Пример является переработкой кода из книги Шлее «Qt 5.3. Профессиональное программирование на C++», посвящённого QTcpServer и QTcpSocket соответственно. Не смотря на то, что наименования классов похожи, и используются в одном и том же …
Дневники разработки → Проект Simple Tracker. Часть 2: структура проекта
Iscander Che, Simple Tracker, Qt, C++
Общая структура показана ниже.
Наименование проекта я подправил. Но в заголовках статей и метках я всё равно оставлю «Simple tracker», чтобы не было путаницы.
Проект состоит из подпроектов клиентской и серверной части и подпроекта тестирования. Главный файл проекта выглядит так. …
Дневники разработки → Проект iMpos. Часть 003. Настройка логирования. Создание, чтение базы настроек приложения
Настройка логирования
Поддержка логирования в приложении позволяет как минимум решать следующие задачи:
- фиксирование действий пользователя в приложении;
- фиксирование выполнения операций с данными;
- фиксирование критических событий при работе программы.
И вообще чтение логов волнующий и захватывающий процесс при обеспечении поддержки работы …
Дневники разработки → Проект iMpos. Часть 002. Создание проекта. Создание репозитория GitHub. Импорт проекта.
В основном я работаю на SuSE Linux. В настоящее время использую openSUSE Tumbleweed, Qt 5.13.0. Пользователи же будут использовать Windows. Поэтому я использую GitHub для импорта проектов при сборке для других платформ а также для работы над ним как на …
Дневники разработки → Проект iMpos. Часть 001. Постановка задачи
Небольшое вступление.
Для меня программирование хобби, дабы поддерживать в тонусе мыслительные процессы. Поэтому наверняка будут не совсем профессиональные подходы к решениям той или иной задачи. Поэтому всегда буду рад любым советам и критическим замечаниям. Участвовать в наполнении раздела Дневники разработки …
Qt → Улучшение производительности с Qt 3D Studio 2.4
Скорость 3D-рендеринга важна для 3D-движка в дополнение к эффективному использованию системных ресурсов. Предстоящий новый выпуск Qt 3D Studio 2.4 значительно повышает производительность рендеринга , а также обеспечивает дополнительную экономию ресурсов ЦП (CPU) и ОЗУ (RAM). В нашем примере высококачественного встроенного …
- Последние комментарии
- AK1 апреля 2025 г. 11:41Добрый день. В данный момент работаю над проектом, где необходимо выводить звук из программы в определенное аудиоустройство (колонки, наушники, виртуальный кабель и т.д). Пишу на Qt5.12.12 поско…
- VP9 марта 2025 г. 16:14Здравствуйте! Я устанавливал Qt6 из исходников а также Qt Creator по отдельности. Все компоненты, связанные с разработкой для Android, установлены. Кроме одного... Когда пытаюсь скомпилиров…
- ИМ22 ноября 2024 г. 21:51Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
- Сейчас обсуждают на форуме
- DT14 апреля 2025 г. 15:38Всем привет! На Qt 6.8 MinGW пытаюсь сделать управление подключением WiFi из программы. Пока делаю поддержку Windows, но так же хочу в дальнейшем внедрить и поддержку Linux/MacOS. Для…
- f15 февраля 2025 г. 13:46Подскажите, пожалуйста! Как данный класс можно дополнить, чтобы созданные объекты можно было перемещать мышкой по сцене?
- Не запускается компьютер (точнее работает блок , но сам монитор вообще жесть)В общем я ничего с интернета не скачивала в последнее время. На компе никаких левых пр…
- Вопрос решен. Узнать QModelIndex элемента на который мы перетаскиваем другой элемент, можно с помощью функции indexAt(event->position().toPoint()) представления QTreeViev вызываемой в переопр…