首页 > 编程语言 >【PyQt6】Python窗口拖拽文件并响应的实现

【PyQt6】Python窗口拖拽文件并响应的实现

时间:2023-10-10 16:56:38浏览次数:44  
标签:Python text self PyQt6 drag ev 拖拽

情景

大概应用情景为:将一个文件拖入到窗口内,地址栏显示文件路径,文本框显示文件内容。

说明

实现拖拽必须在exec前设置QMineDate,否则不会开始拖拽操作。

实现

from PyQt6.QtCore import *

calss MainWindow(QMainWindow, Ui_MainWindow):
	def __init__(self):
		super().__init__()

		self.setupUi(self)
		
		# 启用
		self.setAcceptDrops(True)

	def dragMoveEvent(self, ev:QDragMoveEvent) -> None:
		```鼠标移动```
		drag = drag(self)
		mime = QMineDate()
		drag.setMimeDate(mime)
		drag.exec(Qt.DropAction.CopyAction)  # PyQt6

	def dragEnterEvent(self, ev:QDragEnterEvent) -> None:
		```鼠标移入```
		if ev.mimeDate().hasUrls():
			ev.accept()
		else:
			ev.ignore()

	def gropEvent(self, ev:QDropEvent) -> None:
		```拖拽释放```
		# 具体实现
		self.lineEdit.setText(ev.mimeDate().text()[8:])  # ev.mimeDate().text()内容为file:///...,所以要截掉前面的
		self.textEdit.setText(text)  # text为自行读取的内容

标签:Python,text,self,PyQt6,drag,ev,拖拽
From: https://www.cnblogs.com/xhltk316/p/17755114.html

相关文章

  • Python 反射
    反射通过字符串映射或修改程序运行时的状态、属性、方法,有以下4个方法。hasattr(obj,name_str)#判断一个对象里是否有对应的name_str字符串的方法映射getattr(obj,name_str)#根据字符串去获取obj对象里的对应的方法的内存地址setattr(obj,"y",z),isequivalent(相当于)(to)......
  • 利用Python爬虫打造SEO智能关键词聚合
    在当今互联网的竞争激烈时代,网站的SEO优化至关重要。而关键词是SEO优化的核心,选择恰当的关键词能够带来更多的流量和用户。本文将为您揭秘一项SEO黑科技:如何利用Python爬虫打造智能关键词聚合工具。通过这个工具,您可以快速地扫描和聚合与您网站相关的关键词,为您的SEO优化提供更准确......
  • 使用python 读写excel表格
     1、先导入openpyxl库,如没有先用pip安装(pipinstallopenpyxl)importopenpyxl2.打开表格进行操作excel_file="文件名.xlsx"open_work_book=openpyxl.load_workbook(excel_file)sheet=open_work_book.active3、对表格操作后进行保存sheet.cell(row=row[0].row,col......
  • 【Python深度学习】目标检测和语义分割的区别
    ​        在计算机视觉领域,语义分割和目标检测是两个关键的任务,它们都是对图像和视频进行分析,但它们之间存在着明显的区别。本文将通过图像示例,详细阐述语义分割和目标检测之间的差异。一、基本概念        1.1语义分割(SemanticSegmentation)      ......
  • 【Python】文本文件的读写(简)
    start#读1try:f=open("C:/DIP-PC/lt/workspace/Py_Wk/source/temp.txt","r",encoding="UTF-8",errors="ignore")#全读(无参)#print(f.read())#按行读forlineinf.readlines():print("re......
  • 【Python&语义分割】语义分割的原理及常见模型的介绍
    1概述        语义分割是计算机视觉中的重要任务之一,其目的是将图像中的每个像素分配给特定的类别,从而实现对图像的精细分割。与目标检测不同,语义分割并不需要对物体进行位置和边界框的检测,而是更加注重对图像中每个像素的分类。随着深度学习的兴起,语义分割得到了广泛......
  • 【Python&目标识别】目标检测的原理及常见模型的介绍
    1概述        目标检测(ObjectDetection)是计算机视觉领域的一个重要研究方向,其目的是在图像或视频中定位并识别出特定的物体。目标检测模型通常需要同时确定物体的位置和类别。在深度学习之前,目标检测算法主要基于传统计算机视觉方法,如特征提取和分类器设计。然而,随着深......
  • 学习笔记427—Python Keras 报错AttributeError: 'Sequential' object has no attribu
    PythonKeras报错AttributeError:'Sequential'objecthasnoattribute'predict_classes'解决方法本文文要介绍Python中,使用Keras执行yhat_classes=model.predict_classes(X_test)代码报错:AttributeError:'Sequential'objecthasnoattribute'pr......
  • Python函数式编程进阶
    函数式编程函数式编程是一种基于函数的编程范式,它通过编写函数来描述程序的行为。函数被视为一等公民,可以作为参数、返回值和变量来使用。函数式编程通常使用高阶函数、不可变数据和递归等技术来描述程序的行为。命令式编程:基于指令的编程范式,它通过编写一系列指令来描述程......
  • python+playwright 等待
    前言playwright有自动等待,它对元素执行操作前,会进行一系列可操作性检查,以确保这些行动按预期运行。它会自动等待所有相关检查通过,然后才执行请求的操作。如果所需的检查未在给定的范围内通过则抛出timeout,操作将失败并显示TimeoutError。正是由于playwright添加了默认等待时间才......