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() |
清空所有已选文件 |
交互方式
- 点击上传区域:弹出系统文件选择对话框- 拖拽文件:将文件直接拖拽到上传区域。拖入时区域高亮,边框变为蓝色虚线
- 文件列表:每个已选文件显示文件名、大小和删除按钮