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

效果如下图:

相关推荐
sulikey3 分钟前
【C++ STL 深入解析】insert 与 emplace 的区别与联系(以 multimap 为例)
开发语言·c++·stl·stl容器·insert·emplace
墨白曦煜31 分钟前
Java集合框架整体分类(完整的集合框架关系)
java·开发语言
被放养的研究生34 分钟前
dir()与help()
python
YuanlongWang37 分钟前
C# 基础——async/await 的实现原理与最佳实践
开发语言·c#
kkkkk02110642 分钟前
JavaScript性能优化实战:深度剖析瓶颈与高效解决方案
开发语言·javascript·性能优化
我的xiaodoujiao1 小时前
使用 Python 语言 从 0 到 1 搭建完整 Web UI自动化测试学习系列 20--PO(POM) 设计模式和用例撰写
python·学习·测试工具·设计模式·pytest
一碗绿豆汤1 小时前
C语言-结构体
c语言·开发语言
子不语1801 小时前
深度学习(一)——基础知识:Python语言/解释器/环境/编辑器
python·学习
kalvin_y_liu1 小时前
ManySpeech —— 使用 C# 开发人工智能语音应用
开发语言·人工智能·c#·语音识别
爱学习的爬虫1 小时前
Python实现Jenkins实现自动化执行Job
python·自动化·jenkins