Skip to main content

fry-qt6-progress-widget

fry-qt6-progress-widget 是一个可复用的 PyQt6 任务进度组件。核心类是 GeneralTaskProgressWidget,它继承自 QWidget,适合直接放进任意布局;如果你的程序需要 dock,可以使用附带的 GeneralTaskProgressDock 薄包装器,或者自己把 widget 放进 QDockWidget。

安装

发布到 PyPI 后:

pip install fry-qt6-progress-widget

本地开发安装:

pip install -e ".[dev]"

最小用法

import sys

from PyQt6.QtWidgets import QApplication
from fry_qt6_progress_widget import GeneralTaskProgressWidget

app = QApplication(sys.argv)

widget = GeneralTaskProgressWidget()
widget.begin_task(project_id="demo", task_name="导入数据", total=100)
widget.update_progress(current=30, total=100, detail_info="已完成 30 条")
widget.show()

sys.exit(app.exec())

字典信号兼容用法

如果你已有任务系统会发出字典,可以直接调用 handle_task_progress:

widget.handle_task_progress(
    {
        "project_id_str": "demo",
        "task_name_str": "导入数据",
        "now_progress_num": 30,
        "total_num": 100,
        "info_type": "信息",
        "detail_info": "已完成 30 条",
    }
)

Dock 用法

from PyQt6.QtCore import Qt
from PyQt6.QtWidgets import QMainWindow
from fry_qt6_progress_widget import GeneralTaskProgressDock

window = QMainWindow()
dock = GeneralTaskProgressDock(window)
window.addDockWidget(Qt.DockWidgetArea.RightDockWidgetArea, dock)
dock.begin_task(project_id="demo", task_name="后台任务", total=10)

常用 API

  • begin_task(project_id="", task_name="任务", total=None): 开始任务并重置显示。
  • update_progress(current=None, total=None, task_name=None, project_id=None, info_type="信息", detail_info=""): 更新进度和详情消息。
  • finish_task(project_id=None, message="任务已完成", hide=False): 标记任务完成。
  • set_paused_state(is_paused): 切换暂停/恢复状态。
  • append_message(info_type, message): 追加详情日志。
  • set_project_filter(project_id): 只接收指定项目 ID 的进度更新。
  • get_params_dict() / load_params_dict(snapshot): 保存和恢复组件状态。

示例和文档

开发与验证

pytest
python -m build

构建后会生成 dist/,发布前建议检查:

twine check dist/*

真正发布到 PyPI 需要维护者账号和 token:

twine upload dist/*

Release files for fry-qt6-progress-widget 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fry-qt6-progress-widget 0.1.1
File Size Uploaded
fry_qt6_progress_widget-0.1.1.tar.gz 15.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for fry-qt6-progress-widget 0.1.1
File Interpreter ABI Platform
fry_qt6_progress_widget-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 27.4 kB

Release files / fry_qt6_progress_widget-0.1.1.tar.gz

Download URL fry_qt6_progress_widget-0.1.1.tar.gz
Size 15.6 kB
Tags Source
SHA-256 checksum
How to use checksums
12d65738ac372a9c8942041811954a686b9725cdc74a0e60df82caf23080da42
BLAKE2b-256 checksum
How to use checksums
49554068031732d37bf937ad55fe4bd2ee30ec9aff9042632ecd0607f5b2202a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / fry_qt6_progress_widget-0.1.1-py3-none-any.whl

Download URL fry_qt6_progress_widget-0.1.1-py3-none-any.whl
Size 11.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0704d5fe8bc09d1f4ffedb356b963695f69c0c679e457e898015edf7c3530443
BLAKE2b-256 checksum
How to use checksums
086f942457a910296a30157d865fa45c124a73c8c782f65c85eb00ec2327573f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page