PyQT - 将文件复制到剪贴板
是否可以将文件复制到剪贴板?
就好像它被按下“ctrl + c”。所以当我在某个文件夹中按“ctrl + v”时,它会出现在这里。PyQT - 将文件复制到剪贴板
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)
记住X11剪贴板需要运行事件循环('QApplication.exec_')。 – 2011-05-20 22:40:22
创建文件的QUrls,将它们存储在QMimeData中并将QMimeData粘贴到QClipboard。 (Works的多个文件,在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_())
在使用'QUrl.fromLocalFile()'之后在Windows上工作 – Qiao 2011-05-20 06:14:05
您复制和应用程序中粘贴或者你需要复制该文件到外部文件夹窗口? – 2011-05-19 18:24:53
外部文件夹。与文字一样。 – Qiao 2011-05-19 18:26:36