Skip to content

SueBwj/ImageViewer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Image Viewer

A image viewer built with PyQt6. Designed for photographers, designers, and anyone who needs to quickly browse and compare images.

Python PyQt6 License

✨ Features

📁 Drag & Drop Support

  • Single folder: Browse all images in a folder with thumbnail navigation drag_folder
  • Multiple folders: Side-by-side comparison of images from different folders drag_multi_folder drag_multi_folder_3
  • Multiple images: Compare any selection of images

🔍 Smart Zoom

  • Selection zoom: Draw a box to magnify any region
  • Embedded preview: Zoomed preview appears directly on the image corner
  • Configurable position: Bottom-right, bottom-left, top-right, or top-left
  • Adjustable magnification: 1.5x to 5x zoom levels
  • Custom colors: Choose from 8 selection box colors scale

🔄 Synchronized Comparison

  • When comparing images, selections sync across all panels
  • Each image zooms its own corresponding region
  • Perfect for comparing details across similar images

📋 History Sidebar

  • Quick access to recently opened folders and images
  • Resizable sidebar with drag handle
  • Automatic cleanup of invalid paths

⌨️ Keyboard Navigation

  • ←/→: Navigate to previous/next image
  • ESC: Return to home screen

📸 Screenshots

Single View Compare View
Browse images with thumbnail strip Side-by-side comparison with synced zoom

🚀 Installation

Prerequisites

  • Python 3.8 or higher
  • pip package manager

Install Dependencies

pip install -r requirements.txt

Run the Application

python main.py

🏗️ Project Structure

ImageViewer/
├── main.py              # Application entry point
├── main_window.py       # Main window with drag-drop and history
├── constants.py         # Application constants and configuration
├── styles.py            # UI stylesheet definitions
├── utils.py             # Utility functions for file operations
├── history.py           # History management for recent files
├── requirements.txt     # Python dependencies
└── widgets/
    ├── __init__.py      # Widget package exports
    ├── image_label.py   # Zoomable image label with embedded preview
    ├── single_view.py   # Single folder browser widget
    └── compare_widget.py # Multi-image comparison widget

📝 Usage Examples

Browse a Folder

  1. Drag a folder onto the application window
  2. Use thumbnails or arrow keys to navigate
  3. Draw a selection box to zoom in on details

Compare Images

  1. Drag multiple folders or images onto the window
  2. Images are displayed side by side
  3. Enable "Sync Selection" to compare the same region across all images
  4. Adjust zoom position and color as needed

Quick Access

  • Click any item in the history sidebar to reopen
  • Drag the sidebar edge to resize
  • Click "Clear" to remove all history

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

  • Built with PyQt6
  • Inspired by image viewers like Pixea and XnView

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages