Сентябрь 2023 Автор: Чудинов Дмитрий Tg: @dchudik
- Установить Astra Linux (2.12 или 1.7) на виртуальную машину
- Обновиться до последней версии
- Необходимо реализовать графическое приложение, которое будет отображать дерево файловой системы 3.1. Сделать стартовой директорией домашнюю директорию текущего пользователя. То есть того пользователя что запускает утилиту 3.2. Отображать файлы, папки, в том числе и скрытые 3.3. Добавить QLineEdit виджет, который использовать для фильтрации по имёнам файлов и папок
- Пришлите готовый код и скриншот. Желательно ссылку на репозиторий GitHub/GitLab/BitBucket
Выполнять можно на С++/Qt или Python/PyQt. Для С++ за основу можно взять examples/widgets/itemviews/dirview из пакета qtbase5-examples.
Программа реализована на базе фреймворка QT (Версия 5). С использованием языка C++.
Интерфейс реализован в виде отдельного виджета.
- Для отображения файлов и директорий используются компоненты QTreeView
- Для ввода строки поиска QLineEdit
- Для фильтра по именам файлов и папок используется QFileSystemModel
В задании не указано требуется ли рекурсивный поиск по папкам или нет. Если его надо сделать, то я бы попробовал следующие варианты:
- Через QProxyModel реализовать получение файлов и формирование модели.
- Сделать костомную модель для QTreeView и в неё поместить список файлов который сформирую через рекурсивный поиск.
- Без фильтров
- С фильтром
- Без фильтров
- С фильтром
- Информация об установленном Astra Linux
-
Скачать пакеты git, make, qt5-default
sudo apt install git make qt5-default
-
Скачать исходный код
git clone https://github.com/dchudik/Astra-Test-Task-2023
-
Перейти в папку
cd Astra-Test-Task-2023/
-
Подготовить make файл
qmake dirviewer.pro
-
Собрать программу через make
make
-
Запустить программу
./dirviewer