Skip to main content

A powerful image classification and management tool

Project description

ImgTkinter - 现代化图片分类管理器

Python PyQt5 License Platform

📖 概述

ImgTkinter.py 是一个基于 PyQt5 开发的桌面端图片分类管理工具。它通过直观的图形用户界面(GUI),帮助用户高效地批量处理、分类和管理本地图片文件。

✨ 主要功能

1. 📂 源图片管理

  • 文件夹选择:支持选择包含待分类图片的源文件夹。
  • 历史记录:自动保存最近使用的源文件夹路径,通过下拉框快速切换。
  • 刷新加载:提供一键刷新功能,实时更新源文件夹中的图片列表。
  • 分页显示
    • 为了防止大量图片导致界面卡顿,采用分页机制(默认每页 200 张)。
    • 提供翻页控件(上一页、下一页)和页码显示。
  • 统计信息:实时显示当前文件夹中的图片总数量。

2. 🗂️ 目标文件夹管理

  • 分类目标:指定图片分类后的存放目录。
  • 新建文件夹:在目标目录下直接创建新的子文件夹,用于分类。
  • 智能搜索
    • 支持按文件夹名称搜索。
    • 支持拼音搜索(包括全拼和首字母缩写),方便快速定位。
  • 自动排序
    • 支持按文件夹内的文件数量进行升序或降序排列。
    • 文件夹卡片带有颜色标识,根据文件数量显示不同颜色的标签。

3. 🖼️ 图片操作

  • 可视化网格:以网格形式展示图片缩略图,包含文件名预览。
  • 多选机制
    • 支持通过 Shift + 鼠标左键 单击来选中或取消选中多张图片。
    • 提供工具栏显示当前已选中的图片数量。
    • 支持“全选当前页”和“清空选择”功能。
  • 拖拽分类
    • 支持将单张或多张选中的图片直接拖拽到目标文件夹中。
    • 拖拽过程中显示带有数量标记的预览图。
    • 后台线程处理:文件移动操作在后台线程执行,不会阻塞界面。
  • 右键菜单
    • 删除图片:右键可直接删除图片(无确认弹窗)。
    • 重命名:支持对图片进行重命名。
    • 查看大图:弹出独立窗口查看高清大图。
    • 复制路径:将图片的绝对路径复制到剪贴板。
  • 图片信息:鼠标悬停在图片上时,会有视觉反馈(边框高亮)。

4. 🔍 大图查看器

  • 独立窗口:双击图片或选择查看选项时,打开置顶的独立窗口。
  • 缩放控制
    • 提供放大、缩小、重置按钮。
    • 支持 鼠标滚轮 缩放。
    • 支持 键盘快捷键+ 放大, - 缩小, 0 重置, Esc 关闭)。
  • 自适应显示:窗口大小改变时自动适配图片尺寸。
  • 详细信息:底部显示文件名、分辨率和文件大小。

5. ⚙️ 辅助功能

  • 快捷键支持
    • 按下 空格键 可快速聚焦到搜索框并清空内容,方便快速搜索。
  • 设置保存:使用 QSettings 自动保存用户的文件夹历史记录和配置,下次启动自动加载。
  • 进度反馈:底部状态栏和进度条实时显示操作进度(如加载图片、移动文件)。
  • 异步加载
    • 图片缩略图加载采用分页同步加载,配合事件循环处理,保持界面流畅。
    • 文件夹图标加载使用后台线程,避免阻塞主线程。

🛠️ 技术特点

  • 多线程处理:使用 QThread 处理耗时的文件移动和图标加载任务。
  • 拖放技术:基于 QDragQMimeData 实现跨区域文件拖拽。
  • 自定义控件:实现了 ModernButton(现代风格按钮)、SortButton(排序组件)、ImageItem(图片卡片)、FolderItem(文件夹卡片)等自定义 UI 组件。
  • 样式美化:使用 QSS (Qt Style Sheets) 实现现代化的扁平风格设计,主要配色为蓝紫色(#8B5CF6)。

📋 依赖库

  • PyQt5: 用于构建图形界面。
  • pypinyin: 用于文件夹名称的拼音搜索功能。

🚀 快速开始

安装方法

方法一:从源代码安装

# 克隆仓库
git clone https://github.com/peng0928/ImgTkinter.git

cd ImgTkinter

# 安装依赖
pip install PyQt5 pypinyin

# 运行程序
python ImgTkinter.py

通过PyPI安装(包名为imgtkinter)

pip install ImgTkinter
# 运行程序
Primg

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

imgtkinter-1.0.3.tar.gz (21.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

imgtkinter-1.0.3-py3-none-any.whl (21.5 kB view details)

Uploaded Python 3

File details

Details for the file imgtkinter-1.0.3.tar.gz.

File metadata

  • Download URL: imgtkinter-1.0.3.tar.gz
  • Upload date:
  • Size: 21.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.13

File hashes

Hashes for imgtkinter-1.0.3.tar.gz
Algorithm Hash digest
SHA256 8a8b8301950ed9fc7fed71370383d1fe07caccf483217bd61cf78c8b310f69b0
MD5 faeff252f89db964a32d42b7f1a713ee
BLAKE2b-256 c178f1f26809f1416b9b3e7ac7d5ccaf1826acfa9f2d4ed6dfedb1f52c28f244

See more details on using hashes here.

File details

Details for the file imgtkinter-1.0.3-py3-none-any.whl.

File metadata

  • Download URL: imgtkinter-1.0.3-py3-none-any.whl
  • Upload date:
  • Size: 21.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.13

File hashes

Hashes for imgtkinter-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 e278dda2a538f45288279d8c30520219aca82602311e94c73158bc14f7460c28
MD5 b4cc42d9e88a9ee1fb28d8a8dda38b08
BLAKE2b-256 aaa2504018fd64889f9ee39634b70ff9b7630439dadbaec44ccad892ef8fdfb3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page