| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| README.md | 2025-04-16 | 7.0 kB | |
| Makefile | 2025-04-16 | 21.5 kB | |
| moc_predefs.h | 2025-04-16 | 14.8 kB | |
| grxiv.o | 2025-04-16 | 65.9 kB | |
| grxiv.pro | 2025-04-16 | 97 Bytes | |
| grxiv | 2025-04-16 | 67.6 kB | |
| grxiv.moc | 2025-04-16 | 4.6 kB | |
| grxiv.cpp | 2025-04-16 | 10.3 kB | |
| Totals: 8 Items | 191.7 kB | 0 |
grxiv - Просмотрщик изображений на Qt и OpenGL
grxiv (Grannik X Image Viewer)— это простой и эффективный просмотрщик изображений, написанный на C++ с использованием библиотек Qt и OpenGL. Программа позволяет просматривать изображения в заданной директории или отдельный файл, поддерживает масштабирование с помощью колеса мыши и навигацию по изображениям с помощью клавиш. Проект оптимизирован для работы на Linux (в частности, протестирован на Ubuntu 22.04) и использует OpenGL для рендеринга изображений.
Основные возможности
- Просмотр изображений:
Поддержка форматов
.jpg,.jpeg,.png,.bmp,.gif. - Навигация:
Переключение между изображениями в директории с помощью клавиш
←(предыдущее) и→(следующее). - Масштабирование: Увеличение и уменьшение изображения с помощью колеса мыши (масштаб от 0.1x до 10x).
- Быстрое закрытие:
Нажмите
Qдля выхода из программы. - Лёгкая установка:
Простая сборка с использованием
qmakeиmake.
Требования
Для сборки и запуска grxiv необходимы следующие зависимости:
- Qt 5 (рекомендуется версия 5.15 или выше)
- OpenGL (версия 2.1 или выше, поддерживается Mesa)
- Компилятор C++ (g++ или другой, совместимый с C++11)
- Система сборки:
qmakeиmake - Операционная система: Linux (протестировано на Ubuntu 22.04)
Установка зависимостей
Для Ubuntu выполните следующую команду, чтобы установить необходимые пакеты:
sudo apt-get install qt5-default libqt5opengl5-dev build-essential
Проверьте наличие Qt:
qmake --version
Проверьте поддержку OpenGL:
glxinfo | grep "OpenGL version"
Сборка проекта
-
Склонируйте репозиторий или скопируйте файлы проекта в локальную директорию:
bash git clone <URL_репозитория> cd grxiv -
Очистите проект от старых сборочных файлов (если они есть):
bash make clean -
Сгенерируйте
Makefileс помощьюqmake:bash qmake grxiv.pro -
Соберите проект:
bash make
После успешной сборки в директории появится исполняемый файл grxiv.
Установка в систему (опционально)
Чтобы запускать grxiv из любой директории, скопируйте исполняемый файл в
sudo cp grxiv /usr/local/bin/
Использование
Запустите программу, указав путь к изображению или директории с изображениями:
./grxiv /path/to/the/image.jpg
Или для директории:
./grxiv /path/to/the/directory/
Управление
- Навигация:
←— предыдущее изображение.→— следующее изображение.- Масштабирование:
- Прокрутите колесо мыши вверх для увеличения.
- Прокрутите колесо мыши вниз для уменьшения.
- Закрытие:
- Нажмите
Qдля выхода.
Отладочная информация
При запуске программа выводит в консоль полезную информацию, такую как: - Версия OpenGL и GLSL. - Статус загрузки изображений (например, путь и размер). - Состояние OpenGL-контекста и текстур.
Пример вывода:
OpenGL version: 4.6 (Compatibility Profile) Mesa 23.2.1
GLSL version: 4.60
Shaders initialized successfully
Loading image: "/home/user/Pictures/MyPictures/image.jpg"
Image loaded successfully. Size: QSize(768, 768)
Context active: true
Texture updated
Структура проекта
grxiv.cpp: Основной исходный код программы, реализующий логику просмотра изображений.grxiv.pro: Файл проекта дляqmake, содержащий настройки сборки.grxiv.moc: Сгенерированный файл для поддержки механизма сигналов и слотов Qt.
Возможные проблемы и их решение
-
Ошибка:
QOpenGLTexture::setData() requires a valid current contextУбедитесь, что OpenGL-контекст инициализирован корректно. Текущая версия кода решает эту проблему, загружая изображения после инициализации OpenGL. -
Изображения не отображаются
- Проверьте, что указанный путь к файлу или директории корректен.
- Убедитесь, что изображения имеют поддерживаемый формат (
.jpg,.png, и т.д.). -
Добавьте отладочный вывод в метод
paintGLдля проверки рендеринга. -
Ошибки компиляции Убедитесь, что все зависимости установлены:
bash sudo apt-get install qt5-default libqt5opengl5-dev
Лицензия
Проект распространяется под лицензией MIT.
Автор:
Grannik
Контакты:
- My site Granni