可以
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)
网友回复
python如何实现torrent的服务端进行文件分发p2p下载?
如何在浏览器中录制摄像头和麦克风数据为mp4视频保存下载本地?
go如何编写一个类似docker的linux的虚拟容器?
python如何写一个bittorrent的种子下载客户端?
ai能通过看一个网页的交互过程视频自主模仿复制网页编写代码吗?
ai先写功能代码通过chrome mcp来进行测试功能最后ai美化页面这个流程能行吗?
vue在手机端上下拖拽元素的时候如何禁止父元素及body的滚动导致无法拖拽完成?
使用tailwindcss如何去掉响应式自适应?
有没有直接在浏览器中运行的离线linux系统?
nginx如何保留post或get数据进行url重定向?