如何使用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_()

效果如下图:

相关推荐
05候补工程师6 分钟前
【408 从零到一】线性表逻辑特征、存储结构对比与 C/C++ 动态内存分配避坑指南
c语言·开发语言·数据结构·c++·考研
yongui4783413 分钟前
MATLAB 使用遗传算法求解微电网优化配置数学模型
开发语言·matlab
郝学胜-神的一滴17 分钟前
Python 抽象基类深度解析:从简易模拟到 abc 模块的优雅实践
开发语言·python·pycharm
Python伍六七29 分钟前
给予Python开发的【16款高效办公自动化工具合集】,告别低效加班!
开发语言·python·自动化
懷淰メ31 分钟前
【AI加持】基于PyQt+YOLO+DeepSeek的舌苔情况检测系统(详细介绍)
python·yolo·目标检测·计算机视觉·pyqt·舌苔
云渊未归0631 分钟前
Python获取GitCode项目信息
python·数据分析·开源·网络爬虫·gitcode
rit843249937 分钟前
基于博弈论的小区分簇算法MATLAB实现
开发语言·算法·matlab
怕什么真理无穷43 分钟前
C++面试5_ TCP 粘包2(工业级)
开发语言·c++·tcp/ip
qingyulee1 小时前
python redis
开发语言·redis·python