欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Python 技术篇-利用pyqt5库读取剪切板已复制数据的格式类型实例演示

程序员文章站 2022-05-09 21:37:39
Python 技术篇-利用pyqt5库读取剪切板已复制数据的格式类型,python判断复制文件的文件类型。首先介绍下复制内容类型的几种分类:['text/plain'] 是纯文本类型。['text/html', 'text/plain'] 是 html 的格式 + 文本类型,找个网页复制一段文字就可以获得这个效果。如果是文件类型,其格式信息如下:"PyQt5.QtCore.QUrl('file://...')"。当为文件类型时,可以通过 urls() 获取文件路径。...

首先介绍下复制内容类型的几种分类:
['text/plain'] 是纯文本类型。
['text/html', 'text/plain']html 的格式 + 文本类型,找个网页复制一段文字就可以获得这个效果。
如果是文件类型,其格式信息如下:

['application/x-qt-windows-mime;value="Shell IDList Array"', 'application/x-qt-w
indows-mime;value="DataObjectAttributes"', 'application/x-qt-windows-mime;value=
"DataObjectAttributesRequiringElevation"', 'application/x-qt-windows-mime;value=
"Shell Object Offsets"', 'application/x-qt-windows-mime;value="Preferred DropEff
ect"', 'application/x-qt-windows-mime;value="AsyncFlag"', 'text/uri-list', 'appl
ication/x-qt-windows-mime;value="FileName"', 'application/x-qt-windows-mime;valu
e="FileNameW"'] 

当为文件类型时,可以通过 urls() 获取文件路径:

"PyQt5.QtCore.QUrl('file:///C:/Users/Public/Pictures/Sample Pictures/Desert.jpg')" 

再通过文件的扩展名可判断文件类型:

s = "PyQt5.QtCore.QUrl('file:///C:/Users/Public/Pictures/Sample Pictures/Desert.jpg')" index1 = len(s) - s[::-1].index("."); index2 = s.index("')"); print("提取的类型为:" + s[index1:index2]) 

完整代码如下:

from PyQt5.QtWidgets import * app = QApplication([]) clipboard = app.clipboard() data = clipboard.mimeData() # 获取格式信息 print(data.formats()) if(data.hasFormat('text/uri-list')): for path in data.urls(): # 打印复制的路径 print(path) # 提取字符串 s = str(path) index1 = len(s) - s[::-1].index("."); index2 = s.index("')"); print("提取的类型为:" + s[index1:index2]) # 如果是纯文本类型,打印文本的值 if(data.formats() == ['text/plain']): print(data.text()); 

演示运行效果图:
Python 技术篇-利用pyqt5库读取剪切板已复制数据的格式类型实例演示
演示里我复制的内容如下:

Python 技术篇-利用pyqt5库读取剪切板已复制数据的格式类型实例演示
喜欢的点个赞吧!

本文地址:https://blog.csdn.net/qq_38161040/article/details/108081711