как скопировать или вырезать файл для наутилуса с помощью qclipboard - PullRequest
0 голосов
/ 04 апреля 2020

Я хочу скопировать файл в nautilus, используя Qclipboard. Это то, что я сделал

from PyQt5.QtCore import QUrl
from PyQt5.QtWidgets import QApplication
data = QtCore.QMimeData()
url = QtCore.QUrl.fromLocalFile('/home/newtron/test/main.qml')
data.setUrls([url])

QApplication.clipboard().setMimeData(data)

Но URL скопирован как ссылка, а не как файл. Что мне нужно сделать, чтобы установить данные буфера обмена в виде файла.

с использованием gnome и linux.

1 Ответ

0 голосов
/ 05 апреля 2020

Возможно, вы не установили тип mime, необходимый для QClipboard. Например, в GNOME это x-special/gnome-copied-files. При использовании QMimeData проверьте эту страницу https://doc.qt.io/qt-5/qmimedata.html#setData для C ++ или для Python https://doc.qt.io/qtforpython/PySide2/QtCore/QMimeData.html#PySide2 .QtCore.PySide2.QtCore.QMimeData.setData .

Таким образом, вам нужно включить его в свой код:

PySide2.QtCore.QMimeData.setData(mimetype, data)

Где mimetype равно x-special/gnome-copied-files, или что может быть распознано файловым менеджером.

...