Qt5 image viewer with optional video support
Qt5 image viewer. Fast, configurable, easy to use. Optional video support.
Main window & panel
|Folder view||Settings window
Easy to use
Fully configurable, including shortcuts
High quality scaling
Basic image editing: Crop, Rotate and Resize
Ability to quickly copy / move images to different folders
Experimental video playback via libmpv
Ability to run shell scripts
A nice dark theme, should look identical on every OS / DE
| Action | Shortcut | | ------------- | ------------- | | Next image | Right arrow / MouseWheel | | Previous image | Left arrow / MouseWheel | | Goto first image | Home | | Goto last image | End | | Zoom in | Ctrl+MouseWheel / Crtl+Up | | Zoom out | Ctrl+MouseWheel / Crtl+Down | | Zoom | Hold right mouse btn & move up / down | | Fit mode: window | 1 | | Fit mode: width | 2 | | Fit mode: 1:1 (no scaling) | 3 | | Switch fit modes | Space | | Toggle fullscreen mode | DoubleClick / F / F11 | | Exit fullscreen mode | Esc | | Show image info | I | | Crop image | X | | Resize image | R | | Rotate left | Ctrl+L | | Rotate Right | Ctrl+R | | Open containing directory | Ctrl+D | | Slideshow mode | ~ | | Shuffle mode | S | | Quick copy | C | | Quick move | M | | Move to trash | Delete | | Delete file | Shift+Delete | | Save | Ctrl+S | | Save As | Ctrl+Shift+S | | Open | Ctrl+O | | Settings | Ctrl+P | | Exit application | Esc / Ctrl+Q / Alt+X / MiddleClick |
... and more.
Note: you can configure every shortcut by going to Settings > Controls
The idea is to have a uncluttered, simple and easy to use UI. You can see UI elements only when you need them.
There is a pull-down panel with thumbnails, as well as folder view (accessible by pressing Return).
You can also bring up a context menu by right-clicking an image.
Bring up the panel with C or M shortcut. You will see 9 destination directories, click them to set them up.
With panel visible, use 1 - 9 keys to copy/move current image to corresponding directory.
When you are done press C or M again to hide the panel.
You can run custom scripts on a current image.
Open Settings > Scripts. Press Add. Here you can choose between a shell command and a shell script.
Example of a command:
convert %file% %file%_.pdf
Example of a shell script file: ```
gimp "$1" ``` Note: The $1 argument will be a full file path. Also, the script file must be an executable.
When you've created your script go to Settings > Controls > Add, then select it and assign a shortcut like for any regular action.
If qimgv appears too small / too big on your display, you can override the scale factor. Example:
QT_SCALE_FACTOR="1.5" qimgv /path/to/image.pngYou can put it in
qimgv.desktopfile to make it permanent. Using values less than
1.0may break some things.
qimgv should also obey the global scale factor set in KDE's systemsettings.
qimgv supports nicer scaling filters when compiled with
opencvsupport (ON by default, might vary depending on your distribution). Filter options are available in Settings > Scaling.
APNG is supported via third-party qt plugin. (Included in windows qimgv package)
If you are linux user, install the latest QtApng by Skycoder42.
heifformat is supported via third-party qt plugin. Included in windows qimgv package.
qimgv can open
aviffiles via third-party qt plugin.
Viewing raw is supported via qtraw plugin. (Included in windows qimgv package)
Arch Linux / Manjaro / etc.:
Ubuntu / Linux Mint / Pop!_OS / etc.
sudo add-apt-repository ppa:easymodo/qimgv sudo apt-get update sudo apt install qimgv
Alternative package with KDE support:
sudo apt install qimgv-kde
zypper install qimgv
xbps-install -S qimgv
apk add qimgv
sudo dnf install qimgv
If your favorite distro is not included refer to [Manual install] section at the end of this document.
Windows builds are portable (everything is contained within install folder).
Installer additionally sets up file associations.
Note: in order to compile you will need gcc 8 or later!
Install dependencies (
opencv (core and imgproc)
Ubuntu & derivatives:
sudo apt install build-essential git cmake qt5-default libmpv-dev gcc-8 g++-8
Enable RPMFusion https://rpmfusion.org/Configuration.
It is needed for video playback (mpv), but you also can build without it. See CMake build options at the end.
sudo dnf install git cmake make qt5 qt5-devel gcc-c++ mpv mpv-libs-devel exiv2-devel opencv opencv-devel
Configure & install
git clone https://github.com/easymodo/qimgv.git cd qimgv && mkdir -p build && cd build
cmake ../ -DCMAKE_INSTALL_PREFIX=/usr/ -DCMAKE_INSTALL_LIBDIR=lib
make -j`nproc --ignore=1`
sudo make install
-DCMAKE_INSTALL_LIBDIR:PATH=/usr/libto cmake command.
qimgv needs a compiler with c++17 support - for example gcc 8.0+ (every recent distro has it)
If you have multiple version of gcc installed you might need to specify a which version for
cmaketo use, for example
CC=gcc-8 CXX=g++-8 cmake [........]
| Option | Default value | Description | | ------- | ------------- | ----------- | | VIDEOSUPPORT | ON | Enables video playback via
mpv| | EXIV2 | ON | Support reading exif tags via
exiv2| | OPENCVSUPPORT | ON | Enables high quality scaling options | | KDE_SUPPORT | OFF | Use some features from KDE, like background blur |
cmake ../ -DKDE_SUPPORT=ON -DCMAKE_INSTALL_PREFIX=/usr/