PyQT - 将文件复制到剪贴板

发布于 2024-11-08 04:56:07 字数 388 浏览 0 评论 0原文

是否可以将文件复制到剪贴板?
就像按下“ctrl+c”一样。这样当我在某个文件夹中按“ctrl+v”时,它就会出现在这里。

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

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

有可能吗?

Is it possible to copy file to a clipboard?
As if it was pressed "ctrl+c". So that when I press "ctrl+v" in some folder, it will appear here.

http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qclipboard.html - cannot find anything about files.

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

Is it possible at all?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

初与友歌 2024-11-15 04:56:07

剪贴板数据使用 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)

Clipboard data is modelled with QMimeData class, which can contain a list of URLs, including local filesystem URLs.

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)
下壹個目標 2024-11-15 04:56:07

创建文件的 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_())

Create QUrls of the files, store them in a QMimeData and paste the QMimeData to the QClipboard. (Works for multiple files, tested on KDE 4, not sure if works on 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_())
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文