PyQt5利用Qt Designer制作一个可以拖动获取文件信息的页面

这篇具有很好参考价值的文章主要介绍了PyQt5利用Qt Designer制作一个可以拖动获取文件信息的页面。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言
本篇在讲什么

用pyqt5制作一个简单的程序,拖动文件或脚本可以读取文件信息
本篇适合什么

适合初学PyQt5的小白
本篇需要什么

Python语法有简单认知
Qt有简单认知
依赖Pycharm编辑器

本篇的特色

具有全流程的图文教学
重实践,轻理论,快速上手
提供全流程的源码内容

python拖拽获取文件路径pyqt5win是不能拖动文件吗,pyhton学习笔记,qt,python,ui
★提高阅读体验★

👉 ♠ 一级标题 👈

👉 ♥ 二级标题 👈

👉 ♣ 三级标题 👈

👉 ♦ 四级标题 👈

♠ 演示

以下效果是制作完成后的整体演示效果

python拖拽获取文件路径pyqt5win是不能拖动文件吗,pyhton学习笔记,qt,python,ui


♠ 制作页面

python拖拽获取文件路径pyqt5win是不能拖动文件吗,pyhton学习笔记,qt,python,ui
python拖拽获取文件路径pyqt5win是不能拖动文件吗,pyhton学习笔记,qt,python,ui

页面很简单,只有一个QTextEdit组件用来显示文件信息


♠ 重写拖动事件

因为ui文件直接生成的py文件内并没有重写拖动相关的方法,所以我们需要重写一下,写在生成的py文件里每次重新生成都会被覆盖


♥ 引用相关的脚本

from PyQt5.QtWidgets import QApplication, QMainWindow
from main_win.mainUI import Ui_MainWindow

mainUI文件就是我们刚制作的ui转换的py文件,不知道怎么吧ui文件转py的同学可以看博主之前的文章,Ui_MainWindow是mainUI.py里的类名


♥ 重写

class DragChangeWin(QMainWindow, Ui_MainWindow):
    def __init__(self, parent=None):
        super(DragChangeWin, self).__init__(parent)
        self.setupUi(self)
        # 调用Drops方法
        self.setAcceptDrops(True)

    # 鼠标进入
    def dragEnterEvent(self, evn):
        print("鼠标进入")
        evn.accept()

    # 鼠标放开
    def dropEvent(self, evn):
        print("鼠标放开")

    # 鼠标拖动
    def dragMoveEvent(self, evn):
        print("鼠标拖动")

要点1:新类继承QMainWindowUi_MainWindow
要点2:拖动的进入事件dragEnterEvent
要点3:拖动的结束事件dropEvent
要点4:拖动的移动事件dragMoveEvent


♥ 获取文件并读取

在dropEvent方法内我们通过evn参数可以获取到拖动文件的路径

# 鼠标放开
def dropEvent(self, evn):
    filePath = evn.mimeData().text().split("///")[1]
    file = open(filePath, 'r', encoding="UTF-8")
    content = file.read()
    file.close()
    print(content)

要点1:通过evn.mimeData().text()方法可以获取到拖动文件的路径,路径格式如下所示

file:///C:/Users/Administrator/Desktop/1.txt

要点2:通过分割字符串可以获取到可用的路径信息


♠ 完整代码

# -*- coding: utf-8 -*-
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow
from main_win.mainUI import Ui_MainWindow


class DragChangeWin(QMainWindow, Ui_MainWindow):
    def __init__(self, parent=None):
        super(DragChangeWin, self).__init__(parent)
        self.setupUi(self)
        # 调用Drops方法
        self.setAcceptDrops(True)

    # 鼠标进入
    def dragEnterEvent(self, evn):
        # 鼠标放开函数事件
        evn.accept()

    # 鼠标放开
    def dropEvent(self, evn):
        filePath = evn.mimeData().text().split("///")[1]
        file = open(filePath, 'r', encoding="UTF-8")
        content = file.read()
        file.close()
        self.textEdit.setText(content)

    # 鼠标拖动
    def dragMoveEvent(self, evn):
        print("3333333333333333333")


if __name__ == '__main__':
    # app初始化
    app = QApplication(sys.argv)
    dragWin = DragChangeWin()
    dragWin.show()
    dragWin.setFixedSize(dragWin.width(), dragWin.height())
    sys.exit(app.exec_())


♠ 推送

  • Github
https://github.com/KingSun5

♠ 结语

若是觉得博主的文章写的不错,不妨关注一下博主,点赞一下博文,另博主能力有限,若文中有出现什么错误的地方,欢迎各位评论指摘。文章来源地址https://www.toymoban.com/news/detail-791796.html

👉 本文属于原创文章,转载请评论留言,并在转载文章头部著名作者出处👈

到了这里,关于PyQt5利用Qt Designer制作一个可以拖动获取文件信息的页面的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • PyQt5学习笔记--基于Qt Designer加载、播放和保存视频

    目录 1--基于Qt Designer设计ui文件 2--代码 3--结果 4--补充 5--加载、播放、转换和保存视频的实例 ① 上述代码只实现了加载视频和播放视频的功能,缺少暂停、进度移动等常见功能。 ② 上述代码将 QVideoWidget 通过一个layout布局的形式内嵌到自定义的 QOpenGLWidget 中,但播放测试视

    2024年02月15日
    浏览(32)
  • PyQt5学习笔记--加载Qt Designer设计的ui文件

    目录 1--直接加载ui文件 2--动态加载ui文件及其属性 3--绑定槽函数测试 4--登录程序实例练习 ① Qt Designer 下载地址​​​​​ ② 设计ui并保存导出   ③ 直接加载代码 ​ ① 在Qt Designer设计ui文件:   ② 源程序: ③ 结果测试  

    2024年02月10日
    浏览(36)
  • PyQt5 Qt Designer使用(界面显示与业务逻辑分离模式)

    Qt Designer运行界面: MainWinSignalSlog02.ui Ui_MainWinSignalSlog02.py CallMainWinSignalSlog02.py

    2024年02月15日
    浏览(30)
  • PyQt5教程:如何在PyCharm中添加Qt Designer、PyUIC、PyRcc外部工具?

    Qt Designer 、PyUIC和PyRcc是Qt框架下的三个重要工具,总的来说,这三个工具各司其职,相辅相成,能显著提升Qt开发的速度与效率。 Qt Designer:是一个用于创建图形用户界面的工具,可轻松构建复杂的用户界面。它基于MVC架构,可以将界面设计与逻辑分离,使得开发更为便捷。

    2024年04月28日
    浏览(27)
  • 【python】软件开发——PyQt5、Qt Designer、信号与槽机制、计算器实现

    PyQt5 是一个基于 Python 的 GUI 框架,用于创建跨平台的桌面应用程序。它是 Qt 库的 Python 绑定,结合了 Python 的简洁和易用性以及 Qt 框架的强大功能。 Qt 是一个流行的 C++ 跨平台应用程序开发框架,提供了丰富的图形界面组件、网络通信、数据库访问、多线程等功能。PyQt5 允许

    2024年02月04日
    浏览(30)
  • python中的yolov5结合PyQt5,使用QT designer设计界面没正确启动的解决方法

    一、窗体设计test: 默认你已经设计好了窗体后: 这时你需要的是保存生成的untitle.ui到某个文件夹下,然后在命令行中奖.ui转换为.py(,通过​​pyqt5​​​提供的转换工具,将​​ui​​​文件转换成​​python​​的代码) 或者使用在PyCharm中安装的工具: 然后你会看到mai

    2024年02月07日
    浏览(39)
  • PyQt5制作一个简单的登录界面

    最近在学习GUI设计,分享做的一些小项目。 这篇文我们讲一下如何制作一个简单的登录界面。 如下: 1、QtDesigner里绘制UI界面并设置属性 布局根据个人喜好,部件颜色、字体、背景属性在styleSheet里设置。 2、材料转换(将.ui文件转.py,.qrc文件转_rc.py) 通过PyUIC和PyRcc即可完成。

    2024年02月03日
    浏览(39)
  • 制作一个串口助手 | python + pyqt5

    目录 一、背景 1.1、开发流程图 二、前提 2.1、关于环境 2.2、关于源码 三、步骤 3.1、使用pyqt创建一个.ui界面并生成.py文件 3.2、创建两个.py文件,一个用来继承ui界面生成的.py类,一个用来实现各种功能 3.3、各个功能代码 3.3.1、打开串口 3.3.2、关闭串口 3.3.3、获取串口号 3.

    2024年02月05日
    浏览(71)
  • RAMMAP(运行内存清理工具)自动释放内存,并利用pyqt5制作图形界面

    上一篇文章用python制作了一个自动清理内存的程序,利用cmd端口调用Rammap,不过只是做了一个托盘图标,这回用pyqt5做一个简单的图形界面,并实现对自动清理模式的一些设置 首先利用pyqt5工具qt designer生成UI界面,这里命名为F_UI.ui(并利用信号/槽编辑器将滑动条和微调框绑

    2024年02月11日
    浏览(38)
  • 安装 Pyqt5 和 Designer

    Name– PyUIC Program– E:pythonpythonpython.exe (你的python文件路径) Arguments– -m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py Working directory– $FileDir$

    2024年01月23日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包