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

效果如下图:

相关推荐
nbsaas-boot10 分钟前
Java 正则表达式白皮书:语法详解、工程实践与常用表达式库
开发语言·python·mysql
仗剑_走天涯13 分钟前
基于pytorch.nn模块实现线性模型
人工智能·pytorch·python·深度学习
chao_78914 分钟前
二分查找篇——搜索旋转排序数组【LeetCode】两次二分查找
开发语言·数据结构·python·算法·leetcode
风无雨42 分钟前
GO 启动 简单服务
开发语言·后端·golang
斯普信专业组1 小时前
Go语言包管理完全指南:从基础到最佳实践
开发语言·后端·golang
我是苏苏2 小时前
C#基础:Winform桌面开发中窗体之间的数据传递
开发语言·c#
斐波娜娜3 小时前
Maven详解
java·开发语言·maven
小码氓3 小时前
Java填充Word模板
java·开发语言·spring·word
暮鹤筠3 小时前
[C语言初阶]操作符
c语言·开发语言
chao_7895 小时前
二分查找篇——搜索旋转排序数组【LeetCode】一次二分查找
数据结构·python·算法·leetcode·二分查找