- Технологии C++/Qt/Sqlite(grouping and storing)
- Паттерны MVC/Отделение интерфейсами для инверсии зависимостей
qmake
make
-
Ниже приведено стартовое окно, в котором нужно выбрать файл в нужном формате (я использовал .csv с разделением пробелами)
-
Выбор файла для тестового запуска
![image](https://private-user-images.githubusercontent.com/55896709/361832408-87d705d0-bd8f-422c-91ae-b04433241c11.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkyNzM2MzQsIm5iZiI6MTczOTI3MzMzNCwicGF0aCI6Ii81NTg5NjcwOS8zNjE4MzI0MDgtODdkNzA1ZDAtYmQ4Zi00MjJjLTkxYWUtYjA0NDMzMjQxYzExLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjExVDExMjg1NFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTcxNDZlYTM1YjQ3ZjY3NTM3YzczYjI4NGRhYzg2NGQ2NWJiNTY0YjA0YjBiM2EwYzNmMzdmZTAyODU1MGI4N2MmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.P3dCmwla9oaHECOB7NP6GnUsVX6U3z7QIWyBel-RHqk)
- Главное окно программы
![image](https://private-user-images.githubusercontent.com/55896709/361832815-f8ff4a02-5e2e-4af8-9122-72191b66a755.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkyNzM2MzQsIm5iZiI6MTczOTI3MzMzNCwicGF0aCI6Ii81NTg5NjcwOS8zNjE4MzI4MTUtZjhmZjRhMDItNWUyZS00YWY4LTkxMjItNzIxOTFiNjZhNzU1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjExVDExMjg1NFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTkxZTI1ZmJlZTc0NjQ0YThlNGQ4NmE2YmZlMjJlMjRmMGU4MGUyNDViYzAzYWY3NDQxMWQ4NGY2ZmIxNWI2ODEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.qhhp3oxs5VQLysVvcUm4uGyEopuNjPIrmVVUaTTWBpw)
- Посредине выводятся элементы в нужных группировках из задания по 20 штук.
- Реализована пагинация по страницам для корретного отображения
- Сохранение текущей страницы в plain text
- Смена файла-источника.
- По нажатию на нужный пункт в ComboBox получим нужное группирование и сортировку по возрастанию.
- Использовать SQL гибкое и практичное решение.
- Инциализация отдельных модулей в main.cpp делает программу более гибкой, ведь мы можешь заменить хранилище, или например парсер и все продложит работать
- Отображение с пагинацией сделано для того чтобы программа не завершалась некорректно при большом количестве записей
- Динамически задавать размер групп для группировки по типу
- Считать дистанции не от 0, а от заданной пользователем точки
- Эстетично и практично оформить хранение SQL запросов в коде
- Пристально не профилировал, возможны утечки во view