跳转至

Upload 文件上传

拖拽或点击上传文件,支持文件大小验证、类型过滤、多文件上传和文件列表管理。

基础用法

文件上传预览

from monkeyqt import MkUpload

upload = MkUpload()

# 监听文件选择
upload.filesSelected.connect(lambda files: print(f"已选文件: {files}"))

多文件上传 &

upload = MkUpload(multiple=True)

文件类型过滤

# 只接受图片文件upload = MkUpload(accept_filters=["*.png", "*.jpg", "*.jpeg", "*.gif"])

# 只接受 Python 文件
upload = MkUpload(accept_filters=["*.py"])

文件大小限制

# 限制单个文件最大 10MB(默认 50MB)upload = MkUpload(max_size_mb=10.0)

自定义提示文本 &

upload = MkUpload(
    tip_text="仅支持 JPG/PNG 格式,单个文件不超过 5MB",
    accept_filters=["*.jpg", "*.png"],
    max_size_mb=5.0
)

获取已选文件 &

upload = MkUpload(multiple=True)

# 获取当前已选文件列表(绝对路径)files = upload.get_files()

# 清空已选文件upload.clear()

监听文件移除

upload = MkUpload(multiple=True)
upload.fileRemoved.connect(lambda path: print(f"移除了: {path}"))

API

构造函数 &

MkUpload(parent=None, multiple=False, accept_filters=None, max_size_mb=50.0, tip_text="")
参数 类型 默认值 说明
parent QWidget None 父组件
multiple bool False 是否支持多文件选择
accept_filters list[str] ["*.*"] 文件类型过滤器列表
max_size_mb float 50.0 单文件最大体积(MB)
tip_text str "" 底部提示文本,为空时自动生成

Signals

信号 参数 说明
filesSelected list[str] 文件选择/拖入时触发
fileRemoved str 从列表中移除文件时触发

方法

方法 说明
get_files() 返回当前已选文件的绝对路径列表
clear() 清空所有已选文件

交互方式

  • 点击上传区域:弹出系统文件选择对话框- 拖拽文件:将文件直接拖拽到上传区域。拖入时区域高亮,边框变为蓝色虚线
  • 文件列表:每个已选文件显示文件名、大小和删除按钮