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

效果如下图:

相关推荐
笨鸟先飞,勤能补拙4 小时前
AI 赋能网络安全:技术全景、成熟度评估与实战案例
人工智能·python·安全·web安全·网络安全·sqlite·github
微学AI4 小时前
一根针指向所有方向:挂谷猜想对 LLM Agent 技能-记忆架构的启示
开发语言·人工智能·架构·挂谷猜想
长和信泰光伏储能4 小时前
京津冀光伏发电:绿色能源的未来之路
python·能源
豆瓣鸡5 小时前
算法日记 - Day3
java·开发语言·算法
浦信仿真大讲堂5 小时前
从重复操作到自动化闭环:如何让 CST 与 Python 真正协同起来
python·自动化·cst·仿真软件·达索软件
韭菜炒鸡肝天5 小时前
VTK开发笔记(一):VTK介绍,Qt..+VSx+VTK.编译
开发语言·笔记·qt
Gu Gu Study5 小时前
ScoutLoop开放域深度研究引擎(agent的初步设计想法)
人工智能·python
玛艾露贝5 小时前
Browser-Use在UI自动化测试中的应用
ui
Aaron - Wistron6 小时前
Web API C# (Furion版)带 单元测试
开发语言·后端·c#
brave_zhao6 小时前
Axure RP 9模板的使用
ui·axure·photoshop