LINUX.ORG.RU

Написал свой просмотрщик изображений на python

 , , ,


0

2

Всем привет!

С месяц назад обращался на форум - искал смотрелку картинок с инстструментом «лупа», похожим на подобный в программе FastStone. Товарищи предлагали разные варианты, но того, что мне нужно не было. Давно такую программку искал, перепробовал целую кучу хороших поделок и не очень - подобной особенности не обнаружил. Решил, что надо написать свою.

mopyqtiv - это приспособленный под управление мышкой просмотрщик изображений. Написан на python, с использованием библиотек PyQt пятой серии и PIL. Из особенностей:

  • управление масштабом
  • картинки листаются колёсиком мыши (довольно быстро, без эффектов)
  • вращение картинки (только для просмотра)
  • поворот изображений по 90 градусов влево/вправо (изменения тут же сохраняются на диске)
  • привязка папок на клавиши латинского алфавита для быстрой ручной сортировки
  • миниатюры справа: создаются со впечатляющей скоростью на многокристальных процессорах
  • изменение размеров окна приводит к пропорциональному изменению размеров всех элементов
  • отправка файлов в коризину
  • настройка через правку переменных в заголовке скрипта
  • программа на русском и с русским руководством
  • для арчика есть PKGBUILD

Из того, что хочу добавить/изменить (не сегодня/завтра):

  • отвалилось управление стрелками (было, не знаю куда делось: может быть только у меня)
  • диалог переименовывания файла
  • добавление на мышку управления: масштаб - правая+колёсико, вращение - правая+левая+колёсико
  • исправление ошибок, если кто заметит и сообщит

В общем делал для себя. Кто хочет - пользуйтесь и помогайте добрым советом.

»»» Исходники (Github)

★★

Запускай через env python3, а не просто python3, добавь расширение к самому файлу (раз десктоп-файл есть) и переведи все на человеческий язык. И вбрасывай на реддит - десяток лайков наберет, будет тебе желаемый самопиар.

gregz
()
Ответ на: комментарий от gregz

будет тебе желаемый самопиар

Это то, что мне на фиг не нужно. Вы ошибаетесь

rmu ★★
() автор топика
Ответ на: комментарий от gregz

Запускай через env python3, а не просто python3, добавь расширение к самому файлу (раз десктоп-файл есть) и переведи все на человеческий язык.

За первые две заметки благодарен.

По последнему - не получится, к сожалению питончик позволяет давать на русском имена переменным и т. д., а стандартные имена останутся, какими были. Перевести всё на человеческий не получится :(

rmu ★★
() автор топика
Ответ на: комментарий от amorpher

напиши клон Honeyview

К сожалению, я с ним не знаком, пользовался фастстоуносм.

rmu ★★
() автор топика
Ответ на: комментарий от rmu

Знаешь ли, меня, наверное, можно назвать «русофилом», но за комментарии на русском, считаю, надо бить по рукам. Тем более в открытом проекте.

Quickern ★★
()
Ответ на: комментарий от Goury

Чтобы понять логику программы — нарисуй схему её работы

Не подскажете руководство или софтину с быстрым освоением, с помощью которой такое сделать можно? Сами такое делали? Если да, покажите свой пример, пожалуйста.

rmu ★★
() автор топика

Сначала такой вот культурный

from multiprocessing import Pool, Process, Pipe
А потом
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import 

И простыня в 1.5к строк, п-ц

ggrn ★★★★★
()
Ответ на: комментарий от Quickern

за комментарии на русском, считаю, надо бить по рукам

Возможности невысокие. Документацию читаю, но если писать комментарии буду - смешно будет. Так бы не против, если б умел.

rmu ★★
() автор топика
Ответ на: комментарий от greenman

Где такие берёте?

За бугром

rmu ★★
() автор топика
Ответ на: комментарий от greenman

Да просто многоядерные.

Ну ладно, править уже поздно

rmu ★★
() автор топика
Ответ на: комментарий от ggrn

Сначала такой вот культурный

Правильно ли я Вас понял, что импорты должны быть такие?

from PyQt5.QtWidgets import QWidget, QMenu, QLabel, QScrollArea, QApplication, QFileDialog, QAction, QVBoxLayout, QLayout, qApp

rmu ★★
() автор топика

Отлично, что сделал сам

Deleted
()
Ответ на: комментарий от ggrn

python 3.5?

У меня такой стоит, на других не пробовал

rmu ★★
() автор топика
Ответ на: комментарий от rmu

К своим свободным ленюсь рисовать, от несвободных показать схему не могу.

Сделать можно чем угодно, я обычно просто в LO Draw рисую, иногда в diagramo пилю.

Вдохновляться можно там: https://www.google.ru/search?q=software design diagram&tbm=isch

Goury ★★★★★
()
Ответ на: комментарий от ggrn

This document gives coding conventions for the Python code comprising the standard library in the main Python distribution

Ракуй отсюда к хипстерам обратно, он не для питона либы пилит

Goury ★★★★★
()
Ответ на: комментарий от rmu

Не ведись на это сообщение, оно не для тебя, оно для троллинга.

Deleted
()
Ответ на: комментарий от Goury

Ну а что ты кривого мне тут лепишь?

иногда

очень редко

ggrn ★★★★★
()

Не запускается, вот что пишет:

user@comp:/mnt/data/Personal/Python/mopyqtiv$ python2.7 ./mopyqtiv.py 
Traceback (most recent call last):
  File "./mopyqtiv.py", line 30, in <module>
    from PyQt5.QtGui import (QIcon, QPalette, QColor,
ImportError: No module named PyQt5.QtGui

user@comp:/mnt/data/Personal/Python/mopyqtiv$ python3.2 ./mopyqtiv.py 
Traceback (most recent call last):
  File "./mopyqtiv.py", line 27, in <module>
    from PIL import Image
ImportError: No module named PIL

Система: Lubuntu 12.04.

Novator ★★★★★
()
Ответ на: комментарий от Novator

Не запускается
Система: Lubuntu 12.04

Попробуй поставить python3-pyqt5 и python-imaging, запускать третьим питончиком

rmu ★★
() автор топика
Ответ на: комментарий от rmu

поставить python3-pyqt5 и python-imaging

Нету таких в стандартных репах, печалька...

Novator ★★★★★
()
Ответ на: комментарий от greatperson

[-1:][0] и [-1] дают одно и то же. Хз зачем я использовал первое.

MLP_Fan ★★
()

Доработал смотрелку с учётом советов: теперь можно запускать в режиме OpenGL.

На моём процессоре/системе стабильнее работает программная отрисовка. Поэтому оставил её по-умолчанию. При желании отрисовку можно передать видеокарте.

Отправил достаточное кол-во исправлений и переработок. Заложил почти все задуманные возможности. Благодарю за выявленные ошибки и замечания.

rmu ★★
() автор топика
Ответ на: комментарий от paran0id

Так-то дело говоришь, надо добавить парочку

rmu ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.