Python 在pyqt5剪贴板中设置mimedata

Python 在pyqt5剪贴板中设置mimedata,python,pyqt5,clipboard,Python,Pyqt5,Clipboard,我正在使用pyqt5 MimeData将文件放入剪贴板。注意:不是文件的内容,而是指向文件的链接。然后我可以ctrl+v在任何地方粘贴文件 app=QtGui.QApplication([] data=QtCore.QMimeData() url=QtCore.QUrl.fromLocalFile('c:\\foo.file') data.setURL([url]) app.clipboard().setMimeData(数据) 在windows中,它可以完美地工作: 我可以使用app.cli

我正在使用pyqt5 MimeData将文件放入剪贴板。注意:不是文件的内容,而是指向文件的链接。然后我可以
ctrl
+
v
在任何地方粘贴文件

app=QtGui.QApplication([]
data=QtCore.QMimeData()
url=QtCore.QUrl.fromLocalFile('c:\\foo.file')
data.setURL([url])
app.clipboard().setMimeData(数据)
在windows中,它可以完美地工作:

我可以使用
app.clipboard()

但在linux中它似乎不起作用

我用

data=QtCore.QMimeData()
url=QtCore.QUrl.fromLocalFile(“/home/foo.file”)
data.setURL([url])
app.clipboard().setMimeData(数据)
但是我不能
ctrl
+
v
(粘贴)文件的任何位置,当检查剪贴板的内容时,它会显示
file:///home/foo.file


linux上的剪贴板控件有点复杂,它有一个所有权概念(基于窗口,您不使用任何窗口),需要一个正在运行的事件循环。读这本书。您可能更喜欢使用xcopy之类的外部工具。