可以
import webview
from webview.dom import DOMEventHandler
def on_drop(e):
"""drop 事件回调,e 是字典"""
files = e['dataTransfer']['files']
if not files:
return
for f in files:
abs_path = f.get('pywebviewFullPath') # 关键:真实路径
print('[收到拖放]', abs_path)
# 如果还想把路径发回 Python 业务层
# window.evaluate_js(f'pywebview.api.deal_with_path("{abs_path}")')
def bind_dom(window):
"""把事件挂到 document 上,也可挂到任意元素"""
doc = window.dom.document
doc.events.drop += DOMEventHandler(on_drop, prevent_default=True, stop_propagation=True)
# 记得阻止默认行为,否则浏览器会直接用页面打开文件
doc.events.dragover += DOMEventHandler(lambda _: None, prevent_default=True)
if __name__ == '__main__':
window = webview.create_window(
'pywebview 6.0 拖放取路径',
html='''
<body style="height:100vh;display:flex;align-items:center;justify-content:center;">
<h1>把文件拖进来(任意位置)</h1>
</body>
'''
)
webview.start(bind_dom, window, debug=True) 网友回复
如何将linux服务器的文件目录映射到windows电脑磁盘?
Docling 与 MarkItDown 两个库有啥不同?
豆包收费后国产其他ai软件也会跟进收费吗?
JPEG 与 HEIF图片格式区别?
centos7版本太旧无法安装python3.11,如何在docker中运行python3.11?
python如何做个RPA按键精灵的程序?
写一个windows的cmd的python代码如何在命令行中捕获获取复制粘贴的图片?
如何将别人爆款的抖音短视频短剧文案提取为seedance2的提示词?
阿里云域名dns云解析10万次日限额如何应对?
windows电脑如何提交上架ipa苹果应用?


