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

效果如下图:

相关推荐
lcz-20003 分钟前
Silero-VAD模型自定义微调
python·音视频·vad·silero
打工的小王4 分钟前
单例模式的实现
java·开发语言·单例模式
strive-debug5 分钟前
cpp篇~~类和对象
开发语言·c++
是宇写的啊5 分钟前
单例模式-阻塞队列
java·开发语言·单例模式
进击的小头6 分钟前
Git在C项目中的分支策略和规范
c语言·开发语言·git
u0104058366 分钟前
Java中的单例模式详解
java·开发语言·单例模式
Allen_LVyingbo8 分钟前
构建医疗AI数据集建设平台:Go语言工程方案详解
开发语言·人工智能·自然语言处理·golang·知识图谱·健康医疗
CCPC不拿奖不改名9 分钟前
Git 核心操作命令
人工智能·git·python·rnn·自然语言处理·josn
历程里程碑10 分钟前
哈希1:两数之和:哈希表优化指南
java·开发语言·数据结构·c++·算法·哈希算法·散列表
XerCis10 分钟前
Python包与环境管理工具uv及pyproject.toml指南
开发语言·python·uv