如何使用PySide2将designer设计的ui文件加载到Python类上鼠标拖拽显示路径

应用场景:

designer快速设计好UI文件后,需要增加一些特别的界面功能,如文件拖拽显示文件路径功能。

方法如下:

python 复制代码
from PySide2.QtWidgets import QApplication, QMainWindow
from PySide2.QtUiTools import loadUiType

Ui_MainWindow, _ = loadUiType('mainwindow.ui')

class MainWindow(QMainWindow, Ui_MainWindow):
    def __init__(self):
        super(MainWindow, self).__init__()
        self.setupUi(self)
        self.setAcceptDrops(True)  # ==> 设置窗口支持拖动(必须设置)
    #鼠标拖入事件
    def dragEnterEvent(self, event):

        file = event.mimeData().urls()[0].toLocalFile()  # ==> 获取文件路径
        self.label.setText(file)    
        # 鼠标放开函数事件
        event.accept()
        
if "__main__" == __name__:
    app = QApplication([])
    window = MainWindow()
    window.show()
    app.exec_()

效果如下图:

相关推荐
2601_9679791226 分钟前
pip在Python中的9个必须知道的用法
python·pip·版本控制·包管理工具·requirements.txt
曲径海盗44 分钟前
【Python 学习第 58 天】列表方法
python·学习笔记·编程入门
DeepVisionary1 小时前
Runway开源机器人大模型Praxis-1,推演延迟压到62毫秒
python·自动化
Cooper252 小时前
DDC 命令成功但屏幕不动:用 gamma 表重做亮度映射
python·mac
师夷长技以自愈3 小时前
手搓 AI Agent 第 7 篇:菜做砸了别硬炒——错误分类 + 双账本熔断
人工智能·python
用户956256254293 小时前
15 分钟社媒简报 Agent:我只用了搜索和模型两步
python·api
Dumbness3 小时前
关键词回复里写了 {订单号},群机器人整条消息都炸了
python·微信
调接口的阿光3 小时前
调用对话接口时输出被截断怎么办:先看 finish_reason,再决定是续写一次、缩小范围,还是换成更短的格式(Python)
人工智能·python
Cooper253 小时前
单文件 Flask 跑通微信服务器校验:先跑通再谈工程化
python·flask
Cooper253 小时前
三源热榜去重加 AI 摘要:URL 唯一键踩出的三个坑
前端·python