繁体   English   中英

PyQT - 将文件复制到剪贴板

[英]PyQT - copy file to clipboard

是否可以将文件复制到剪贴板?
好像按了“ctrl + c”。 因此,当我在某个文件夹中按“ctrl + v”时,它将显示在此处。

http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qclipboard.html - 找不到任何关于文件的内容。

file = 'C:\foo.file'
clipboard = QtGui.QApplication.clipboard()
????

有可能吗?

剪贴板数据使用QMimeData类建模,该类可以包含URL列表,包括本地文件系统URL。

from PyQt4 import QtCore, QtGui

app = QtGui.QApplication([])

data = QtCore.QMimeData()
url = QtCore.QUrl.fromLocalFile('c:\\foo.file')
data.setUrls([url])

app.clipboard().setMimeData(data)

创建文件的QUrls,将它们存储在QMimeData中并将QMimeData粘贴到QClipboard。 (适用于多个文件,在KDE 4上测试,不确定是否适用于Windows。)

import sys

from PyQt4.QtCore import QMimeData, QUrl
from PyQt4.QtGui import QApplication

app = QApplication(sys.argv)

# Create the urls.
url1 = QUrl('file1')
url2 = QUrl('file2')

# Create the mime data with the urls.
mime_data = QMimeData()
mime_data.setUrls([url1, url2])

# Copy the mime data to the clipboard.
clipboard = QApplication.clipboard()
clipboard.setMimeData(mime_data)

# Run the main loop.
# The X11 clipboard needs the event loop running.
sys.exit(app.exec_())

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM